C++友元函数用不了private函数么?

发布网友 发布时间: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;
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com