C++支持在类中定义内部类,内部类是类的一个组成部分,也称为嵌套类。
一、内部类定义
在类中像成员变量一样定义内部类:
class Outer {
class Inner {
// ...
};
Inner inner;
};
二、内部类访问
外部类可以直接访问内部类成员,内部类可以访问外部类成员。
三、仅外部类访问
内部类对外不可见,只有外部类可以使用。
class Outer {
class Inner {};
void func() {
Inner inner; // 正确,外部类可以访问
}
};
Outer::Inner inner; // 错误,外部不可访问
四、与普通成员区别
内部类参与外部类的作用域,普通成员没有这个特性。
五、继承访问权限
内部类继承外部类的访问权限。
六、应用场景
内部类常用于实现一些辅助类,外界不需要访问。
七、实现细节隐藏
内部类可以隐藏实现细节。
内部类是C++类的一个扩展,可以用来对外隐藏实现细节,也便于逻辑分组。