📅  最后修改于: 2023-12-03 14:39:59.202000             🧑  作者: Mango
静态数据成员是指属于类而非对象的数据成员。也就是说,无论创建多少个类的对象,这些对象都共享同一个静态数据成员。我们可以使用类名来访问静态成员,而不需要创建任何对象。
在类声明中定义静态数据成员时需要加上 static
关键字,也需要在类声明之外为其进行初始化。常见的初始化方式有两种:
// 第一种,在类声明中初始化
class MyClass{
public:
static int count;
};
int MyClass::count = 0;
// 第二种,在类声明外初始化
class MyClass{
public:
static int count;
};
int MyClass::count = 0;
在访问静态数据成员时,无论是内部或者外部,都需要使用 MyClass::count
这种形式进行访问,其中 MyClass
为类名。
#include <iostream>
class MyClass{
public:
static int count;
};
int MyClass::count = 0;
int main(){
std::cout << "MyClass::count = " << MyClass::count << std::endl;
MyClass::count = 10;
std::cout << "MyClass::count = " << MyClass::count << std::endl;
return 0;
}
输出结果:
MyClass::count = 0
MyClass::count = 10
静态数据成员可以用于记录属于类的信息,例如共有多少个对象被创建等。静态数据成员还可以被用于实现单件设计模式,即确保类只有一个实例对象。
静态数据成员是指属于类而非对象的数据成员。静态数据成员可以用于记录属于类的信息,例如共有多少个对象被创建等。在访问静态数据成员时需要使用 MyClass::count
这种形式进行访问。