永发信息网

流插入运算符重载已经声明为类的友元但仍然不能对私有成员进行操作。哪里出了问题?

答案:3  悬赏:50  手机版
解决时间 2021-03-06 03:34
  • 提问者网友:贪了杯
  • 2021-03-05 20:32
流插入运算符重载已经声明为类的友元但仍然不能对私有成员进行操作。哪里出了问题?
最佳答案
  • 五星知识达人网友:酒醒三更
  • 2021-03-05 21:27
有两种解决方式:
1,就是你在类的内部定义你的友元函数,这样就可以了。
如果你非要在类的外部定义,就要用第2种解决方式,
在类的外面声明函数,和类,表明外面已经存在这个函数。
也就是在Time类的前面,就是它的外面声明。如下:
class Time;
ifstream& operator>>(ifstream& inf,Time &obj);
class Time
{
friend ifstream& operator>>(ifstream& inf,Time &obj);
}
ifstream& operator>>(ifstream& inf,Time &obj)//外部定义。
{
}
全部回答
  • 1楼网友:梦中风几里
  • 2021-03-06 00:01
如果你用的是vc6.0 把友元函数的定义体也移到类的定义里面去就好了
  • 2楼网友:渡鹤影
  • 2021-03-05 22:44
其实你只要下载一个sp6补丁安装一下就行了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯