C++中的静态成员变量是类的一部分,它可以在类的外部定义,也可以在类内部定义,但是无论在哪里定义,它都只有一份。下面介绍C++中静态成员变量的初始化方法。
1. 在类内部定义并初始化
在类内部定义并初始化静态成员变量,这是最简单的初始化方法,例如:
class A { public: static int a; static int b; private: static int c; }; // 在类内部初始化静态成员变量 int A::a = 10; int A::b = 20; int A::c = 30;
2. 在类外部定义并初始化
在类外部定义并初始化静态成员变量,这种方式可以用来定义和初始化多个静态成员变量,例如:
class A { public: static int a; static int b; private: static int c; }; // 在类外部定义静态成员变量 int A::a; int A::b; int A::c; // 在类外部初始化静态成员变量 int A::a = 10; int A::b = 20; int A::c = 30;
3. 使用静态成员变量的初始化列表
使用静态成员变量的初始化列表,可以在定义静态成员变量的时候,同时进行初始化,例如:
class A { public: static int a; static int b; private: static int c; }; // 使用静态成员变量的初始化列表 int A::a = 10; int A::b(20); int A::c{30};
4. 使用静态对象的构造函数
使用静态对象的构造函数,可以在定义静态成员变量的时候,同时进行初始化,例如:
class A { public: static int a; static int b; private: static int c; }; // 使用静态对象的构造函数 int A::a(10); int A::b = static_cast(20.0); int A::c = static_cast (30.0);
以上就是,可以根据实际情况选择不同的初始化方法。