1 定义一个复数类Complex,重载运算符“+”使之用于复数的加法运算。给出源程序分别求出复数之和,整数与复数之和,复数与整数之和并运行结果。
#include // 包含头文件 using namespace std; //使用标准命名空间 class Complex //声明一个复数类
{public: Complex() { real = 0;imag = 0; } Complex(double r, double i) { real = r;imag = i; }
Complex operator+(Complex& c2); //声明重载运算符+的函数
Complex operator+(int& i);
friend Complex operator+(int&, Complex&); void display();
private: double real; double imag;};
Complex Complex::operator+(Complex& c){ return Complex(real + c.real, imag + c.imag);}
Complex Complex::operator+(int& i){ return Complex(real + i, imag);}
void Complex::display() //输出复数形式{ cout << “(” << real << “,” << imag << “i)” << endl;}
Complex operator+(int& i, Complex& c){ return Complex(i + c.real, c.imag);}
int main() //主函数
{ Complex c1(1,1), c2(4, -17), c3;
int i = 6;
c3 = c1 + c2;
cout << “c1+c2=”;
c3.display();
c3 = i + c1;
cout << “i+c1=”;
c3.display();
c3 = c1 + i;
cout << “c1+i=”;
c3.display();
return 0;}
C++运算符重载
最新推荐文章于 2023-03-27 16:45:33 发布