题目:
已知类Complex定义如下:
class Complex
{
double real, imag;
public:
// 其它成员函数,根据需要填写, 如构造函数、拷贝构造函数
};
编程要求:
完成Complex类的+和-运算符重载(两个Complex对象的real和imag分别相加和相减)
#include<iostream>
using namespace std;
class Complex
{
double real, imag;
public:
Complex(double r=0,double i=0) //构造函数
{
real=r;
imag=i;
};
Complex operator+(Complex &); //重载运算符函数+
Complex operator-(Complex &); //重载运算符函数-
void display(); //输出real和imag
};
Complex Complex::operator+(Complex &obj)
{
return Complex(real+obj.real,imag+obj.imag);
}
Complex Complex::operator-(Complex &obj)
{
return Complex(real-obj.real,imag-obj.imag);
}
void Complex::display()
{
cout<<"real:"<<real<<" imag:"<<imag<<endl;
}
int main()
{
Complex c1(3,4),c2(-4,5),c3,c4;
c3=c1+c2;
c4=c1-c2;
c1.display();
c2.display();
c3.display();
c4.display();
return 0;
}