#include<iostream>
using namespace std;
class Complex{
public:
Complex(double r=0,double i=0){
real=r;
imag=i;
}
void display(){
cout<<"("<<endl;
if(imag>0)
cout<<"+"<<imag<<"i)";
else if(imag<0)
cout<<imag<<"i)";
else
cout<<")";
}
Complex operator+(Complex c);
private:
double real,imag;
} ;
Complex Complex::operator+(Complex c){
Complex cc;
cc.real=real+c.real;
cc.imag=imag+c.imag;
return cc;
}
int main(){
Complex c1(1.1,2.2),c2(3.3,4.4),c3;
c3=c1+c2;
c3.display();
return 0;
}
以Complex类来说明运算符重载为类的成员函数:
c3=c1.operator+(c2),其中运算符左操作数即c1对象作为了调用运算符重载函数的对象,右操作c2对象则作为函数调用时的参数。