运算符的重载

来源:百度知道 编辑:UC知道 时间:2024/05/16 12:58:37
设计复数类 重载 1,加法运算符“+”
2,赋值运算符“=”
实现两个复数相加
掌握运算符的重载原则
掌握运算符重载用法

class Complex
{
private:
double real;//实部
double imag;//虚部
public:
Complex(double r=0.0,double i=0.0):real(r),imag(i){}//构造函数
Complex operator+(const Complex &rc) const;//重载+
Complex& operator=(const Complex &rc);//重载=
void display();//显示复数
};

Complex Complex::operator+(const Complex &rc) const
{
return Complex(this->real+rc.real,this->imag+rc.imag);
}

Complex& Complex::operator=(const Complex &rc)
{
real=rc.real;imag=rc.imag;
return *this;
}

void Complex::display()
{
cout<<real<<'+'<<imag<<'i'<<endl;
}

int main()
{
Complex c1(10,20),c2,c3;
c1.display();
c2.display();
c3.display();
c3=c2=c1;
c2.display();
c3.display();
c3=c1+c2;
c3.display();
}