C++ 嵌套的结构和类

——C++的一项特性是在类中嵌套结构或类声明

  • 在类声明中声明的结构、类或枚举被称为是被嵌套在类中,其作用域为整个类。这种声明不会创建数据对象,而只是指定了可以在类中使用的类型。
    class Queue
    {
        struct Node { Item item; struct Node * next; };  // 在类中嵌套(声明)结构
        enum { Q_SIZE = 10 };  // 在类中嵌套(声明)枚举
        Node * front;
        Node * rear;
        int items;
        const int qsize;
        ...
    public:
        ...
    };
  • 如果声明是在类的私有部分进行的,则只能在这个类使用被声明的类型;如果声明是在公有部分进行的,则可以从类的外部通过作用域解析运算符使用被声明的类型,如在类外声明Queue::Node类型的变量