gpt4 book ai didi

c++ - 运算符重载 >> 和私有(private)成员

转载 作者:太空宇宙 更新时间:2023-11-04 15:45:13 25 4
gpt4 key购买 nike

<分区>

请在标记为重复之前阅读

我正在重载运算符 >> 和 << 以读取具有实部 r 和虚部 i 的复数;

#include<iostream.h>
#include<conio.h>
#include<stdio.h>
class complex
{
int r,i;
public:
complex()
{ i=r=0;}
friend istream& operator>>(istream&, complex&);
friend ostream& operator<<(ostream&,complex&);
};
istream& operator>>(ifstream &din, complex &x)
{
din>>x.r;
din>>x.i;
return din;
}
ostream& operator<<(ostream &dout, complex &x)
{
dout<<x.r<<x.i;
return dout;
}
void main()
{
clrscr();
complex x;
cin>>x;
cout<<x;

}

错误是r和i不可访问在代码部分

din>>x.r;
din>>x.i;

错误是 r 和 i 是私有(private)的,所以不可访问普通的友元函数不能访问私有(private)变量吗?为什么它仅对 >> 失败?

注意:<< 运算符工作正常。只有>>失败

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com