何时初始化静态 C++ 类成员?


可以使用 static 关键字来定义静态 C++ 类成员。类中的静态成员由所有类对象共享,因为在内存中有且只有一份静态类成员的副本,无论类的对象数量有多少。

如果未通过其他方式初始化,当创建类的第一个对象时,静态类成员将初始化为零。

以下是一个在 C++ 中演示静态类成员的程序。

示例

 实时演示

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

输出

以上程序的输出如下所示。

The value of static member a: 20

现在让我们了解一下上述程序。

在 Example 类中,静态类成员为 a。func() 函数显示 a 的值。显示此内容的代码段如下所示。

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

在 main() 函数中,创建了 Example 类的 obj 对象。然后调用 func() 函数,显示 a 的值。显示此内容的代码段如下所示。

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

更新于:2020 年 6 月 26 日

浏览 435 次

开启您的职业生涯

完成课程以获得认证

开始学习
广告