注意的要点:
1:在外面声明重载函数的格式Complex Complex::operator +
2:类声明完之后记得加;
以下为友元的做法,注意不同之处。
//复数相加,运算符重载实现 #include<iostream> using namespace std; class Complex {public: Complex(int i=0,int j=0) { x=i; y=j; } friend Complex operator+(Complex &c1,Complex &c2); void display(); private: int x,y; }; Complex operator +(Complex &c1,Complex&c2) { Complex a; a.x=c1.x+c2.x; a.y=c1.y+c2.y; return a; } void Complex::display() { cout<<"("<<x<<","<<y<<"i"<<")"; } int main() { Complex a,b(5,8),c; c=a+b; c.display(); } 顺序可以换啦。