总结运算符重载的用法
以重载运算符’+’为例:
1.声明运算符重载函数:
class complex{
public:
complex operator+(complex &c1);
private:
double real;
double imag;
};
//重载运算符函数的实现
complex complex::operator+(complex &c1){
return(real+c1.real,imag+c2.imag);
}
2.声明运算符重载函数:
class complex{
public:
complex operator+(complex &c1,complex &c2);
private:
double real;
double imag;
};
//重载运算符函数的实现
complex complex::operator+(complex &c1,complex &c2){
return (c1.real+c2.real,c1.imag+c2.imag);
}
3.声明运算符重载函数:
class complex{
public:
complex operator+(complex &c1);
private:
double real;
double imag;
};
//重载运算符函数的实现
complex complex::operator+(complex &c1){
double r,t;
r = real+c1.real;
t = imag+c1.imag;
return(complex(t,r));
}
4.声明运算符重载函数:
class complex{
public:
complex operator+(complex c1);
private:
double real;
double imag;
};
//重载运算符函数的实现
complex complex::operator+(complex c1){
complex t;
t.real = c1.real+real;
c.imag = c1.imag+imag;
return complex(t.real,t.imag);
}