Các biến thành viên tĩnh C++ được định nghĩa bằng từ khóa static. Các biến thành viên tĩnh trong một lớp được chia sẻ bởi tất cả các đối tượng của lớp vì chỉ có một bản sao của chúng trong bộ nhớ, bất kể số lượng đối tượng của lớp.
Các biến thành viên tĩnh của lớp được khởi tạo bằng 0 khi đối tượng đầu tiên của lớp được tạo nếu chúng không được khởi tạo theo cách nào khác.
Chương trình dưới đây minh họa biến thành viên tĩnh và khởi tạo của chúng trong C++.
Ví dụ
#include <iostream>
using namespace std;
class Demo {
public:
static int num;
int display() {
cout << "Giá trị của biến thành viên tĩnh num là: " << num;
}
};
int Demo::num = 100;
int main() {
Demo obj;
obj.display();
return 0;
}
Kết quả
Giá trị của biến thành viên tĩnh num là: 100
Hãy hiểu chương trình trên.
Trong lớp Demo, biến thành viên tĩnh của lớp là num. Hàm display() in giá trị của num.
class Demo {
public:
static int num;
int display() {
cout << "Giá trị của biến thành viên tĩnh num là: " << num;
}
};
int Demo::num = 100;
Trong hàm main(), một đối tượng obj của lớp Demo được tạo. Sau đó hàm display() được gọi để hiển thị giá trị của num.
int main() {
Demo obj;
obj.display();
return 0;
}