在一个函数内部定义的类,称为局部类
局部类的特点
- 作用域仅限于所在的函数内部
- 其所有的成员必须定义在类内部,不允许定义static成员变量
- 成员函数不能直接访问函数的局部变量(static变量除外)
代码示例:
void test() {
int age = 10;
static int s_age = 30;
// 局部类
class Person {
// 不能直接访问函数的局部变量
cout << age << endl; // 会报错
// 可以访问static变量,或者全局变量
s_age = 40;
};
}
注意:这里类只是权限问题,并不是每次执行函数就定义一个类,这个类在编译器编译的时候就生成了