C++编程实例-运算符重载

实验15 运算符重载

【实验目的】

通过本实验,掌握运算符重载的概念。

【实验要求】

熟练掌握运算符重载的使用技术。

【实验内容】

实现下面两个程序,注意“+”的重载用法。

1)定义运算符重载函数为友元函数。

#include<string.h>

#include<iostream.h>

class A{

private:

int x,y;

public:

A():x(0),y(0){}

A(int i,int j):x(i),y(j){}

A& operator =(const A &a){

if(this==&a) return *this;

x=a.x; y=a.y;

return *this;

}

friend A operator +(const A &a,const A &b){

A m;

m.x=a.x+b.x;

m.y=a.y+b.y;

return m;

}

void f(){ cout<<"x="<<x<<", y="<<y<<endl; }

};

int main(){

A a(1,2); a.f();

A b(3,4); b.f();

A c; c.f();

c=a+b; c.f();

return 0;

}

2)定义运算符重载函数为成员函数。

#include< c string>

#include<iostream>

using namespace std;

class A{

private:

int x,y;

public:

A():x(0),y(0){}

A(int i,int j):x(i),y(j){}

A& operator =(const A &a){

if(this==&a) return *this;

x=a.x; y=a.y;

return *this;

}

A operator +(const A &a){

A m;

m.x=a.x+10;

m.y=a.y+10;

return m;

}

void f(){ cout<<"x="<<x<<", y="<<y<<endl; }

};

int main(){

A a(1,2); a.f();

A b; b.f();

b=b+a; b.f();

return 0;

}

实验15 运算符重载 【实验目的】 通过本实验,掌握运算符重载的概念。 【实验要求】 熟练掌握运算符重载的使用技术。 【实验内容】 实现下面两个程序,注意“+”的重载用法。 1)定义运算符重载函数为友元函数。 #include #include class A{ private: int x,y; public: A():x(0),y(0){} A(int i,int j):x(i),y(j){} A& operator =(const A &a){ if(this==&a) return *this; x=a.x; y=a.y; return *this; } friend A operator +(const A &a,const A &b){ A m; m.x=a.x+b.x; m.y=a.y+b.y; return m; } void f(){ cout<<"x="<
经验分享 程序员 微信小程序 职场和发展