网友您好, 请在下方输入框内输入要搜索的题目:
使用VC6打开考生文件夹下的工程test38_3。此工程包含一个test38_3.cpp,其中定义了类complex,但类的定义并不完整。请按要求完成下列操作,将程序补充完整。
(1)添加类complex的无参数的构造函数的定义,将私有成员real和imag都初始化为0。请在注释“//**1**”之后添加适当的语句。
(2)添加类complex的带两个参数的重载构造函数,两个参数r和i都是double类型,要求将r赋值给私有成员real, i赋值给私有成员imag,同时允许调用时参数i可是省略,请在注释“//**2**”之后添加适当的语句。
(3)完成类complex重载加法函数的定义,该函数直接返回一个类complex的对象,同时把参数对象c的实部real和虚部imag分别与当前对象对应部分分别相加,请在注释“//**3**”之后添加适当的语句。
(4)完成类complex的友元函数print的定义,使其以格式“real+imagi”输出,请在注释“//**4**”之后添加适当的语句。
源程序文件test38_3.cpp清单如下;
include <iostream.h>
class complex
{
public:
// ** 1 **
// ** 2 **
{
real=r;imag=i;
}
complex operator+(complex & c);
friend void print(complex &c);
private:
double real,imag;
};
complex complex::operator+(complex & c)
{
// ** 3 **
}
// ** 4 **
cout<<c.real<<"+"<<c.imag<<"i"<<endl;
}
void main( )
{
complex c1(2.0,3.0),c2(4.0,-2.0),c3;
c3=c1+c2;
print(c3);
c3=c3+complex(3.5);
print(c3);
}
参考答案