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类型的变量