Computer >> Máy Tính >  >> Lập trình >> C ++

Lớp cục bộ trong C ++

Một lớp được khai báo bên trong một hàm được gọi là lớp cục bộ trong C ++ vì nó là cục bộ của hàm đó.

Ví dụ về lớp cục bộ được đưa ra như sau.

#include<iostream>
using namespace std;
void func() {
   class LocalClass {
   };
}
int main() {
   return 0;
}

Trong ví dụ trên, func () là một hàm và lớp LocalClass được định nghĩa bên trong hàm. Vì vậy, nó được gọi là lớp cục bộ.

Tên lớp cục bộ chỉ có thể được sử dụng trong chức năng của nó và không được sử dụng bên ngoài nó. Ngoài ra, các phương thức của một lớp cục bộ chỉ phải được định nghĩa bên trong nó. Một lớp cục bộ không thể có các thành viên dữ liệu tĩnh nhưng nó có thể có các hàm tĩnh.

Một chương trình thể hiện một lớp cục bộ trong C ++ được đưa ra như sau.

Ví dụ

#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;
}

Đầu ra

Demonstration of a local class
The number is 7

Trong chương trình trên, lớp LocalClass được khai báo trong hàm func () nên nó là một lớp cục bộ. Lớp một biến num và hai hàm thành viên khởi tạo và hiển thị num. Sau khi tạo lớp, đối tượng của nó được định nghĩa trong hàm func () và getdata () và putdata () được gọi bằng cách sử dụng obj. Điều này được nhìn thấy như sau.

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();
}

Trong hàm main (), hàm func () được gọi. Điều này được hiển thị bên dưới.

cout<<"Demonstration of a local class"<<endl;
func();