C++实验题---填空(运算符重载B)
时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte
总提交:303 测试通过:254
总提交:303 测试通过:254
描述
仔细阅读以下程序,理解程序的主要功能,正确补充空白处的语句,空白处可能是一条语句或多条语句,也可能是一个表达式,严禁改动给出程序代码的段落、修改、移动、注释掉给出的程序代码,若有改动、修改或注释掉给出程序的任何一处该题记0分。并编译运行测试通过后进行提交,否则提交错一次扣1分,扣完为止。
#include <iostream.h>
class Complex
{
public:
Complex(){real=0;imag=0;}
Complex(double r){real=r;imag=0;}
Complex(double r,double i){real=r;imag=i;}
friend Complex operator+ (Complex &c1,Complex &c2);
_____________
private:
_____________
double imag;
};
Complex operator+ (Complex &c1,Complex &c2)
{return Complex(c1.real+c2.real, c1.imag+c2.imag);}
void Complex::display()
{cout<<"("<<real<<","<<imag<<"i)"<<endl;}
int main()
{
int a,b,c,d;
cin>>a>>b>>c>>d;
Complex c1(a,b),c2(c,d),c3;
c3=c1+c2;
cout<<"c1="; c1.display();
cout<<"c2="; c2.display();
cout<<"c1+c2="; c3.display();
return 0;
}
输入
输入只有一组测试数据。
输出
根据程序代码输出相应的信息。
样例输入
1 2
3 4
3 4
样例输出
c1=(1,2i)
c2=(3,4i)
c1+c2=(4,6i)
c2=(3,4i)
c1+c2=(4,6i)
代码如下:
#include <iostream>
using namespace std;
class Complex
{
public:
Complex()
{
real=0;
imag=0;
} Complex(double r)
{
real=r;
imag=0;
} Complex(double r,double i)
{
real=r;
imag=i;
}
friend Complex operator+ (Complex &c1,Complex &c2);
void display();
private:
double real;
double imag;
};
Complex operator+ (Complex &c1,Complex &c2)
{
return Complex(c1.real+c2.real, c1.imag+c2.imag);
}
void Complex::display()
{
cout<<"("<<real<<","<<imag<<"i)"<<endl;
}
int main()
{
int a,b,c,d;
cin>>a>>b>>c>>d;
Complex c1(a,b),c2(c,d),c3;
c3=c1+c2;
cout<<"c1=";
c1.display();
cout<<"c2=";
c2.display();
cout<<"c1+c2=";
c3.display();
return 0;
}