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

Các thành viên lớp C ++ tĩnh được khởi tạo khi nào?


Các thành viên lớp C ++ tĩnh có thể được định nghĩa bằng cách sử dụ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 lớp tĩnh trong bộ nhớ, bất kể số lượng đối tượng của lớp.

Thành viên lớp tĩnh đượ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 bất kỳ cách nào khác.

Một chương trình chứng minh các thành viên lớp tĩnh trong C ++ được đưa ra như sau.

Ví dụ

#include <iostream>
using namespace std;
class Example {
   public :
   static int a;
   int func() {
      cout << "The value of static member a: " << a;
   }
};
int Example::a = 20;
int main() {
   Example obj;
   obj.func();
   return 0;
}

Đầu ra

Kết quả của chương trình trên như sau.

The value of static member a: 20

Bây giờ chúng ta hãy hiểu chương trình trên.

Trong lớp Ví dụ, thành viên lớp tĩnh là a. Hàm func () hiển thị giá trị của a. Đoạn mã hiển thị điều này như sau.

lớp
class Example {
   public :
   static int a;
   int func() {
      cout << "The value of static member a: " << a;
   }
};
int Example::a = 20;

Trong hàm main (), một đối tượng obj của lớp Ví dụ được tạo. Khi đó, hàm func () được gọi sẽ hiển thị giá trị của a. Đoạn mã hiển thị điều này như sau.

int main() {
   Example obj;
   obj.func();
   return 0;
}