鄙人不才,又有几个关于嵌套类的问题求教

Snow_1980 2005-03-17 09:33:28
上回关于嵌套类问了大家几个问题,如下
http://community.csdn.net/Expert/topic/3850/3850296.xml?temp=.8490869
现在有2个问题想求教大家:
1,上次有朋友指点说嵌套类和使用友元类差不多,我忘了问清楚,例如B是A的一个嵌套类,那么意思是不是B是A的一个友元类,像这样class A{friend B}?还是A是B的一个友元类,像这样class B{friend A}?

2,现在把代码改了下;
class A
{
public:
A();
~A();
......
private:
clase B
{
......
}
clase C
{
......
}
clase D
{
......
}

friend B;
friend C;
friend D;

B m_b;
C m_c;
D m_d;
}

其中m_b要调用类C,D中的函数,我不明白声明friend B;friend C;friend D;的意义,但是注释掉的话,m_b则不能调用类C,D的函数

3,麻烦解释下友元类的作用,刚才在C++的书上大概翻了下,没找到

多谢各位的帮忙
...全文
97 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
HUDIEGU 2005-03-17
  • 打赏
  • 举报
回复
class A{friend B}只能说明B是A的一个友元类,而不说明A是B的友元类
oyljerry 2005-03-17
  • 打赏
  • 举报
回复
申明了B,C,D为A的友元类,这样他们可以访问A中的成员了
1982pc 2005-03-17
  • 打赏
  • 举报
回复
"friend B;friend C;friend D;的意义,但是注释掉的话,m_b则不能调用类C,D的函数"
上面是说B,C,D是A的友元,这样B,C,D就可以访问A中的任意成员!
CloudOfFly 2005-03-17
  • 打赏
  • 举报
回复
学习
1982pc 2005-03-17
  • 打赏
  • 举报
回复
友元顾名思义就是友好的元素,当一个类(如A)被声明为另一个类(如B)的友元,这时类A就拥有对类B所有元素的访问权限,包括私有的!
书上应该有的,再看看书吧

64,652

社区成员

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

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