定义一个复数类Complex,重载运算符“+”,使之能用于复数的加法运算。将运算符函数重载为非成员,非友元的普通函数。编写程序,求两个复数的之和。
#include <iostream>
using namespace std;
//复数类
class Complex
{
public:
Complex(){real = 0;imag = 0;}
Complex(double r,double i){real = r;imag = i;}
void display();
Complex operator +(Complex &c2);
private:
double real;
double imag;
};
void Complex::display()
{
cout << "(" << real << "," << imag << "i)" << endl;
}
Complex Complex::operator +(Complex &c2)
{
Complex c;
c.real = real + c2.real;
c.imag = imag + c2.imag;
return c;
}
int main()
{
Complex c1(3,4),c2(5,-10),c3;
c3 = c1 + c2;
cout << "c1=";c1.display();
cout << "c2=";c2.display();
cout << "c1 + c2 ="; c3.display();
system("pause");
return 0;
}
|