最近看android的源码发现有很多的嵌套类,现在重新巩固下知识。
名称:包含类(外部类),嵌套类(内部类)
包含类的成员函数可以创建和使用嵌套类的对象。嵌套类的对象的访问权限由包含类的访问控制符来决定。如果为public,则可以在包含类外使用,使用方法为
class A
{
...
public:
class B
{
...
};
...
};
A::B Obj;//使用时需要加上类A的作用域解析符
注意:嵌套类只是在包含类中定义了一个新的类型,并不是创建了一个成员。
嵌套类,结构,枚举的作用域特征
声明位置 | 包含类能否使用 | 包含类的派生类能否使用 | 外部世界能否使用 |
private | Y | N | N |
protected | Y | Y | N |
public | Y | Y | Y(需要使用类作用域限制符) |