设为首页 加入收藏

TOP

13.1.10 嵌套类
2013-10-07 01:13:36 来源: 作者: 【 】 浏览:67
Tags:13.1.10

13.1.10  嵌套类

一个类可以在另一个类中定义,这样的类被称为嵌套类。嵌套类是其外层类的一个成员。嵌套类的定义可以出现在其外层类的公有私有或保护区中。嵌套类的名字在其外层类域中是可见的,但是在其他类域名字空间中是不可见的。这意味着嵌套类的名字不会与外层域中声明的相同名字冲突。有两种嵌套类的方法。一种是直接在外层类中定义嵌套类,格式如下:

  1. class A                     //外层类  
  2. {  
  3. private :                   //嵌套类,声明为私有  
  4.     class B  
  5.     {  
  6.     public:                 //嵌套类中的成员是公有的  
  7.         ...  
  8.     }  
  9.     ...  
  10. }; 

另一种是在类的外部定义嵌套类,格式如下:

  1. class A                         //外层类  
  2. {  
  3. private :                       //嵌套类,声明为私有  
  4.     class B;  
  5.     ...  
  6. };  
  7. class B  
  8. {  
  9. public:                         //嵌套类中的成员是公有的  
  10.     ...  

通常,将嵌套类的本身声明为private,嵌套类的数据成员和成员函数声明为public。这样做的好处是只有外层类的友元和外层类的成员可以访问嵌套类。

如果没有在嵌套类中定义构造函数,那么必须在全局域中定义嵌套类的构造函数。由于嵌套类的名字只有在外层类中才是可见的,所以要用外层类的名字限定修饰嵌套类名。例如嵌套类B的构造函数:

  1. A::B::B()  
  2. {...} 

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇13.1.11 类文件的组织 下一篇13.5 常见问题及解答

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: