静态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; }