在函数内部声明的类在C ++中称为本地类,因为它在该函数中是本地的。
本地类的示例如下。
#include<iostream> using namespace std; void func() { class LocalClass { }; } int main() { return 0; }
在上面的示例中,func()
是一个函数,并且在该函数内部定义了LocalClass类。因此,它被称为本地类。
本地类名称只能在其函数中使用,而不能在其外部使用。此外,必须仅在内部类中定义局部类的方法。本地类不能具有静态数据成员,但可以具有静态函数。
给出了一个演示C ++中的本地类的程序,如下所示。
#include<iostream> using namespace std; void func() { class LocalClass { private: int num; public: void getdata( int n) { num = n; } void putdata() { cout<<"The number is "<<num; } }; LocalClass obj; obj.getdata(7); obj.putdata(); } int main() { cout<<"Demonstration of a local class"<<endl; func(); return 0; }
输出结果
Demonstration of a local class The number is 7
在上面的程序中,在函数中声明了LocalClass类,func()
因此它是一个本地类。该类有一个变量num和两个初始化并显示num的成员函数。创建该类之后,将在函数中定义其对象obj func()
,getdata()
并putdata()
使用obj对其进行调用。如下所示。
void func() { class LocalClass { private: int num; public: void getdata( int n) { num = n; } void putdata() { cout<<"The number is "<<num; } }; LocalClass obj; obj.getdata(7); obj.putdata(); }
在函数中main()
,该函数func()
被调用。如下所示。
cout<<"Demonstration of a local class"<<endl; func();