在函数内部声明的类在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();