【正确答案】正确答案:(1)添加语句:double real,imaginary; (2)添加语句:real=r; imaginary=0; (3)添加语句:CComplex temp; (4)添加语句:return (cl.real==c2.real )&& (c1.imagiI"18 ry ==c2.imaginary);
【答案解析】解析:程序中定义了类CComplex,含有私有成员变量real和imaginary,分别用来表示复数的实部和虚部,CComplex类有两个构造函数、对运算符“+”的重载、Set(int re,int imag)可改变实部和虚都的值、友元Equal(CComplex&c1,CComplex&c2)函数可判断两个CComplex对象是否相等。 (1)第1个标识下完成定义复数类CComplex的私有成员变量real和imaginary,均为double类型的变量,因此第1个标识下应添加“doublereal,imaginary;”。 (2)构造函数CComplex(double r)完成类的初始化,该构造函数有一个参数,分别将real和imaginary赋值为参数r和0,因此第2个标识下应添加“real=r;imaginary=0:”。 (3)编译程序可知,变量temp没有定义,由operator+(CComplex&c1)函数体的语句可知,temp为函数的返回值,而operator+(CComplex&c1)i~数体函数返回CComplex类对象,故在第3个标识下补充temp定义,即“CComplex temp;”。 (4)即判断两个对象c1和c2的实部和虚部是否均相等,两个逻辑结果相与即可,因此第4个标识下应添加“retum(c1.real==c2.real)&&(c1.imaginary==cz.imaginary)。