类对象能不能调用友元函数(友元函数重载了[]操作符)??

lovesi3344 2009-11-13 01:11:28
类对象能不能调用友元函数(友元函数重载了[]操作符?[]能不能由友元函数重载)??

const char&string::operator[](int i)const
{
return str[i];//这行怎么写?
}

string shit("fuck");
shit[0]=‘c’;
cout<<shit<<endl;
...全文
211 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
buyan2009 2009-11-13
  • 打赏
  • 举报
回复
友元函数不是一个类的成员函数,但可以像成员函数一样访问该类的所有成员。
一个函数要成为一个类的友元函数,需要在类的定义中声明该函数。
建议把友元声明放在类体的开始位置。
所以说
[Quote=引用 3 楼 hqin6 的回复:]
C/C++ code
肯定不行,主动和被动的关系都不对!
[/Quote]
即友元函数可以访问类的成员,类的对象不能调用友元函数
forster 2009-11-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hqin6 的回复:]
C/C++ code
肯定不行,主动和被动的关系都不对!
[/Quote]

友元是对方对自己具备的特权。。
你的特权决定于对方是否把你当友元

翻译
太乙 2009-11-13
  • 打赏
  • 举报
回复

肯定不行,主动和被动的关系都不对!
pengzhixi 2009-11-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 akirya 的回复:]
这个我记得[]是不能写成友元形式的。
[/Quote]

up
  • 打赏
  • 举报
回复
这个我记得[]是不能写成友元形式的。

64,683

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧