c++运算符的重载

    xiaoxiao2021-12-14  18

    //复数相加,运算符重载实现 #include<iostream> using namespace std; class Complex {public: Complex(int i=0,int j=0) { x=i; y=j; } Complex operator+(Complex &c); void display(); private: int x,y; }; Complex Complex::operator +(Complex &c) { Complex a; a.x=x+c.x; a.y=y+c.y; return a; } void Complex::display() { cout<<"("<<x<<","<<y<<"i"<<")"; } int main() { Complex a,b(5,8),c; c=a+b; c.display(); }

    注意的要点:

    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(); } 顺序可以换啦。

    转载请注明原文地址: https://ju.6miu.com/read-969955.html

    最新回复(0)