发布网友 发布时间:2022-04-23 17:56
共2个回答
热心网友 时间:2023-07-06 06:29
friend是全局的函数,没有this指针,调用成员函数时需要类的一个实例或者域作用符complex::modifyAngle(complexNum)(静态函数)。还有参数complexNum在参数表中是const,而double complex::modifyAngle(complex &complexNum)函数可能修改complex实例的成员变量值(虽然你的函数具体没有修改其值),所以调用是非法的,在函数后加上const修饰double complex::modifyAngle(const complex &complexNum)const(参数里的const对应modify调用参数的类实例,函数尾的const对应函数前既"."前面那个实例,到了函数体中就是this)。这样修改后再complexNum.modifyAngle(complexNum)就可以了。
热心网友 时间:2023-07-06 06:29
成员函数的调用要加上变量名啊
ostream &operator<<(ostream &output, const complex &complexNum)
{
output<<setiosflags(ios::fixed);
output<<setprecision(2)<<complexNum.vibration<<" "<<setprecision(1)<<complexNum.modifyAngle(complexNum)<<endl;
return output;
}