永发信息网

加了friend ,为什么还是无法访问

答案:1  悬赏:70  手机版
解决时间 2021-02-09 07:45
#include
#include
using namespace std;
class F{
int n;
int d;
public:
F(int n=0,int d=1):n(n),d(d){};
friend void operator>>(istream& in,F& f);
friend void operator<<(ostream& out,const F& f);
};
void operator>>(istream& in,F& f){
char c;
in>>f.n>>c>>f.d<}
void operator<<(ostream& out,const F& f){
out<}
int main ()
{
F a;
cin>>a;
cout< return 0;
}
编译错误提示
:\Users\kjk\c编程\输入与输出.cpp(15) : error C2248: 'n' : cannot access private member declared in class 'F'
C:\Users\kjk\c编程\输入与输出.cpp(6) : see declaration of 'n'
C:\Users\kjk\c编程\输入与输出.cpp(15) : error C2248: 'd' : cannot access private member declared in class 'F'
C:\Users\kjk\c编程\输入与输出.cpp(7) : see declaration of 'd'
C:\Users\kjk\c编程\输入与输出.cpp(15) : error C2678: binary '<<' : no operator defined which takes a left-hand operand of type 'class std::basic_istream >' (or there is no acceptable conversion)
C:\Users\kjk\c编程\输入与输出.cpp(18) : error C2248: 'n' : cannot access private member declared in class 'F'
C:\Users\kjk\c编程\输入与输出.cpp(6) : see declaration of 'n'
C:\Users\kjk\c编程\输入与输出.cpp(18) : error C2248: 'd' : cannot access private member declared in class 'F'
C:\Users\kjk\c编程\输入与输出.cpp(7) : see declaration of 'd'
C:\Users\kjk\c编程\输入与输出.cpp(23) : error C2593: 'operator >>' is ambiguous
C:\Users\kjk\c编程\输入与输出.cpp(24) : error C2593: 'operator <<' is ambiguous
执行 cl.exe 时出错.
输入与输出.exe - 1 error(s), 0 warning(s)
最佳答案
娘的查了那么久,才发现居然是名字空间导致的:请不要使用using namespace std;
可改为如下就好了:
#include
#include
using std::cin;
using std::cout;
using std::ostream;
using std::istream;
using std::endl;

class F{
int n;
int d;
public:
F(int n=0,int d=1):n(n),d(d){};
friend istream& operator>>(istream& in,F& f);
friend ostream& operator<<(ostream& out,const F& f);
};

istream& operator>>(istream& in,F& f){
char c;
in>>f.n>>c>>f.d;
return in;
}

ostream& operator<<(ostream& out,const F& f){
out< return out;
}

int main ()
{
F a;
cin>>a;
cout< return 0;
}

同时你的定义是不符合标准的,略有改动,请对比参考。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
春节前买车便宜还是春节后买车便宜?
证券投资者保护基金公司的职责不包括()。
思必客麻辣香锅在哪里啊,我有事要去这个地方
陈修园五十四种一套,值钱吗?
我是2016江苏文科考生,考了352(本二)想学
靖江省靖中的校服今年会换吗。求解求解。
babyface地址在什么地方,想过去办事
下列关于我国企业现金流量表的表述中,正确的
求助 我守望先锋身份验证失败 进游戏一直显示
嘉乐丽旋风料理机好用不?多少钱?
中国农业银行南宁秀安支行地址在哪,我要去那
30-括号三点8+0点七五怎样简便
无限极工作室地址在什么地方,想过去办事
不要那我和别人比较 只因我独一无二 繁体字怎
绿地羊肉饭店这个地址在什么地方,我要处理点
推荐资讯
好再来美容店地址好找么,我有些事要过去
华为荣耀v9怎么拆屏
刘家鱼塘地址在什么地方,我要处理点事
IE浏览器是美国雅虎推出的一款浏览器。
小纪邮政支局地址好找么,我有些事要过去
问个游戏名字叫什么
人们想出了哪些办法让水光做好事不做坏事
旅行社具体是怎么运作的?
女孩说我不够浪漫怎么办?怎么样才算浪漫?
英语翻译烫发:permanent 染发:color/hair col
朱厝在什么地方啊,我要过去处理事情
用什么培养基可以培养出尽可能多的细菌
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?