C++的友元类为什么要声明在public部分?
如图。ServerSocket类需要直接访问Socket类的私有成员。为什么友元类要声明在Socket的public部分?能不能声明在别的部分?classSocket{能...
如图。ServerSocket类需要直接访问Socket类的私有成员。为什么友元类要声明在Socket的public部分?能不能声明在别的部分?
class Socket
{
能不能声明在这里?
public:
protected:
以及声明在这里?
private:
还有这里?
} 展开
class Socket
{
能不能声明在这里?
public:
protected:
以及声明在这里?
private:
还有这里?
} 展开
3个回答
2016-01-02 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
首先,友元是一种定义在类外部的普通函数或类,但它需要在类体内进行说明,为了与该类的成员函数加以区别,在说明时前面加以关键字friend。友元不是成员函数,但是它可以访问类中的私有成员。
所以,友元声明只能出现在类定义中。因为友元不是授权类的成员,所以它不受其所在类的声明区域public private 和protected 的影响。
所以,友元声明只能出现在类定义中。因为友元不是授权类的成员,所以它不受其所在类的声明区域public private 和protected 的影响。
展开全部
无论在哪种性质的板块里声明都一样,因为"友元"不是类的成员,所以没有公有、私有、保护之分,只要在类里声明了就成了这个类的“朋友”,就可以访问这个类的公有、保护和私有成员!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
友元函数和友元类
声明在哪儿都是一样的。
声明在哪儿都是一样的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询