码迷,mamicode.com
首页 > 编程语言 > 详细

C++拾遗(十三)友元和嵌套类

时间:2016-06-01 15:31:15      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:

友元类

使用友元的场合:

1、两个类既不是is-a关系也不是has-a关系,但是两个类之间又需要有联系,且一个类能访问另一个类的私有成员和保护成员。

2、一个类需要用到另外多个类的私有成员。

 C++primer一书中给出的例子:电视和遥控器。

 1 class Tv                            //原始类 电视
 2 {
 3   public:
 4           friend class Remote;//友元类声明
 5   //..  
 6 };
 7 
 8 class Remote                    //友元类 遥控器
 9 {
10   //  
11 };

友元声明可以位于原始类的任何位置(public,private,protect中都行)。
同时在使用友元时,常用到前向声明。

 

嵌套类

在另一个类中声明的类被称为嵌套类。

嵌套类的构造函数可以在函数声明中定义,也可以在实现文件中用两个类作用域解析符来完成。

嵌套类、枚举和结构的作用域:

声明位置 包含它的类是否可以使用它 从包含它的类派生出来的类是否可以使用它 外部世界是否可以使用它
私有
保护
公有

是(通过类限定符来使用)

 

 

 

 

另外,对嵌套类访问控制规则和常规类一样。这意味着即使是包含嵌套类的类也不能使用嵌套类的私有保护成员。

C++拾遗(十三)友元和嵌套类

标签:

原文地址:http://www.cnblogs.com/DeathKnightH/p/5520636.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!