魔兽世界85天赋模拟器:谭浩强的c++课后习题答案,第十章习题,第3题怎么做?

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/27 22:25:46
具体问题是?
3.定义一个复数类complex,重载运算符“+”,使之能用于复数的加法运算。参加运算的两个运算量可以都是类对象,也可以其中有一个是整数,顺序任意。例如:c1+c2,i+c1,c1+i均合法(设I为整数,C1,C2为复数)。编写程序,分别求两个复数之和。

#include <iostream.h>

class Complex
{
float Real,Image;
public:
Complex(flaot r=0,float i=0){Real=r;Image=i;}
float Show()
{ cout<<"Real="<<'\t'<<"Image="<<Image<<'\n'}
Complex operator+(Complex &);
Complex operator+(float);
void operator=(Complex &);
}

Complex Complex::operator+(Complex &c)
{
Complex t;
t.Real=Real+c.Real;
t.Image=Image+c.Image;
return t;
}

Complex Complex::operator+(float s)
{
Complex t;
t.Real=Real+s;
t.Image=Image;
return t;
}

void Complex::operator=(Complex &c)
{
Real=c.Real;
Image=c.Image;

}

void main()
{
Complex c1(25,50),c2(100,200),c3;
float k=10;
c3=c1+c2;
c3.show();
c3=c1+k;
c3.show();
}