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