Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Lớp cục bộ (Local Class) trong C++


Local Class là lớp khai báo bên trong một hàm - cục bộ đối với hàm đó.

Ví dụ cơ bản

#include <iostream>
using namespace std;

void func() {
    class LocalClass {
    };
}

int main() {
    return 0;
}

func() là hàm, LocalClass khai báo bên trong → local class.

Đặc điểm: tên lớp chỉ dùng trong hàm đó, không dùng ngoài. Phương thức phải định nghĩa bên trong lớp. Không có static data member nhưng có thể có static function.

Ví dụ hoàn chỉnh

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

Kết quả

Demonstration of a local class
The number is 7

LocalClass trong func()

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

Hàm main()

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