C ++中的本地类

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