#include<iostream>
using namespace std;
//重载+ 任意顺序都能使用
class Complex
{
public:
Complex(int r = 0, int i = 0) :real(r), imag(i){}
void display();
Complex operator+(Complex& c);
Complex operator+(int );
friend Complex operator+(int, Complex&);
private:
int real;
int imag;
};
Complex Complex::operator+(Complex& c)
{
return Complex(real + c.real, imag + c.imag);
}
Complex Complex::operator+(int i)
{
return Complex(real + i, imag);
}
Complex operator+ (int i, Complex & c)
{
return Complex(i + c.real, c.imag);
}
void Complex::display()
{
cout << real << "+" << imag << "i" << endl;
}
int main()
{
Complex c1(1, 2), c2(2, 3), c3;
c3 = c1 + c2;
c3.display();
int i = 3;
c3 = c1 + i;
c3.display();
c3 = i + c2;
c3.display();
return 0;
}
谭浩强c++第三版10-3
最新推荐文章于 2020-04-12 15:17:30 发布