学习C++ primer 之路 - ( 第十五章之 嵌套类)

将类声明放入另一个类中,被称为嵌套类...嵌套类一般可以防止名称突变

嵌套类可以在三种位置.

1. 私有成员(私有部分声明的)

class Base 
{
private:
    class Next
    {
        private:
            int a;
        public:
            ...
    };
public:
    ...
};

外部无法使用,只能在类内部使用Base派生的类也无法使用

2.保护成员(保护部分声明的)

class Base 
{
protected:        //保护
    class Next
    {
        private:
            int a;
        public:
            ...
    };
public:
    ...
};

外部无法知道它的存在,对于后者来说是可见的!

2.公有成员(公有部分声明的)

class Base 
{
public:        //
    class Next
    {
        private:
            int a;
        public:
            ...
    };
private:
    ...
};

对于任何都是可见的,都知道Next的存在

在外部定义的时候要加上作用域解析符(::)

如:

Base::Next nx;    //公有部分  声明Base类中的公有部分的类Next的对象

猜你喜欢

转载自blog.csdn.net/z1455841095/article/details/82428841
今日推荐