Xpe*_*z X 0 c++ operator-overloading cin private-members friend-function
请在标记为重复之前阅读
我正在重载运算符>>和<<用于读取具有实部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;
}
Run Code Online (Sandbox Code Playgroud)
错误是代码部分无法访问r和i
din>>x.r;
din>>x.i;
错误是r和i是私有的,因此无法访问不是正常的朋友功能能够访问私有变量.为什么只有>>失败?
注意:<<运算符工作正常.只有>>失败
归档时间: |
|
查看次数: |
3332 次 |
最近记录: |