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);
以上就是,可以根据实际情况选择不同的初始化方法。