C++嵌套类介绍

        包含类的成员函数可以创建和使用被嵌套类的对象,而且当声明位于公有部分,才能在包含类的外卖使用嵌套类,而且必须使用作用域解析运算符。对类进行嵌套定义了一种类型,该类型仅在包含嵌套类声明的类中有效。

        对类进行嵌套通常是为了帮助实现另一个类,并避免名称冲突。

1. 嵌套类和访问权限

        有两种访问权限适合于嵌套类。首先,嵌套类的声明位置决定了嵌套类的作用域,即它决定了程序的哪些部分可以创建这种类的对象。其次,和其他的类一样,嵌套类的公有部分、保护部分和私有部分控制了对类成员的访问。在哪些地方可以使用嵌套类以及如何使用嵌套类,取决于作用域和访问控制。

1.1 作用域

        如果嵌套类是在另一个类的私有部分声明的,则只有后者知道它。

        如果嵌套类是在另一个类的保护部分声明的,则它对于后者来说是可见的,但是对于外部世界是不可见的。然而这种情况下,派生类将知道嵌套类,并可以直接创建这种类型的对象。

        如果嵌套类是在另一个类的公有部分声明的,则允许后者、后者的派生类以及外部世界使用它,因为它是公有的。然而,由于嵌套类的作用域为包含它的类,因此在外部世界使用它时,必须使用类限定符。例如:

class Team
{
public:
    class Coach {};
// ...
};

//外部世界使用它:
Team::Coach forhire;  // create a Coach object outside the Team class

        嵌套结构和枚举的作用域与此相同。很多程序员都用公有枚举来提供客户程序员使用

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值