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

Cách hoạt động của biến tĩnh trong hàm thành viên C++


Các biến tĩnh trong hàm thành viên được khai báo bằng từ khóa static. Không gian cho các biến tĩnh chỉ được cấp phát một lần và được sử dụng trong suốt quá trình chạy chương trình. Ngoài ra, chỉ có một bản sao của các biến tĩnh này trong toàn bộ chương trình.

Chương trình dưới đây minh họa biến tĩnh trong hàm thành viên C++.

Ví dụ

#include <iostream>
using namespace std;

class Base {
public:
    int func() {
        static int a;
        static int b = 12;
        cout << "Giá trị mặc định của biến tĩnh a là: " << a;
        cout << "\nGiá trị của biến tĩnh b là: " << b;
    }
};

int main() {
    Base b;
    b.func();
    return 0;
}

Kết quả

Giá trị mặc định của biến tĩnh a là: 0
Giá trị của biến tĩnh b là: 12

Hãy hiểu chương trình trên.

Hàm thành viên func() trong lớp Base chứa hai biến tĩnh a và b. Giá trị mặc định của a là 0 và giá trị của b là 12. Sau đó các giá trị này được hiển thị.

class Base {
public:
    int func() {
        static int a;
        static int b = 12;
        cout << "Giá trị mặc định của biến tĩnh a là: " << a;
        cout << "\nGiá trị của biến tĩnh b là: " << b;
    }
};

Trong hàm main(), một đối tượng b của lớp Base được tạo. Sau đó hàm func() được gọi.

int main() {
    Base b;
    b.func();
    return 0;
}