在类中嵌套结构或类声明
class Queue
{
enum {Q_SIZE = 10};
private:
struct Node {Item item; struct Node *next;};
Node * front;
Node * rear;
int items;
const int qsize;
}
通过将Node声明放在Queue类中,可以使其作用域为整个类。也就是说Node是这样一个类型:可以使用它来声明类成员,也可以将它作为类方法中的类型名称,但只能在类中使用。这样就不必担心该Node声明与某些全局声明或者其他类中声明的Node发生冲突。
在类声明中声明的结构、类或枚举被称为是被嵌套在类中,其作用域为整个类。如果声明是在类的私有部分进行的,则只能在这个类使用被声明的类型;如果声明是在公有部分进行的,则可以从类的外部通过作用域解析运算符使用被声明的类型。如可以在类的外部声明Queue::Node类型的变量。