内部类
内部类就是在类中定义的类。
#include <iostream>
class MyObject
{
private:
int x;
public:
class TestObject
{
private:
int y;
public:
TestObject() {}
TestObject(int y)
{
this->y = y;
}
};
MyObject() {}
MyObject(int x)
{
this->x = x;
}
};
int main(int argc, char* agrv[])
{
//创建内部类
MyObject::TestObject a;
return 0;
}
注意:
- 内部类和外部类没有对应关系,彼此独立。
- 如果需要创建内部类,应该将内部类定义到public中,若定义到private中则无法创建内部类。
内部类有什么用
当一个类只需要给自己的类或者函数使用,不需要给其他函数或类使用,那么就可以直接定义为内部类,或直接定义在函数内部。