C++静态变量
静态变量定义
静态成员是指在类中声明为static的成员变量或成员函数。静态成员属于类本身,而不是类的某个特定实例。这意味着,无论创建多少个类的实例,静态成员都只有一个副本,并且可以通过类名直接访问,而不需要通过对象实例。
静态成员变量的特点
共享性:静态成员变量被该类的所有实例共享。当一个实例修改了静态成员变量,其他所有实例都会看到这个修改。
内存分配:静态成员变量在全局数据区分配内存,而不是在栈或堆上,这意味着它们的生命周期与程序运行时间相同。
访问方式:可以通过类名直接访问静态成员变量,无需创建类的实例。例如,ClassName.staticMemberName
静态成员函数的特点
访问限制:静态成员函数只能直接访问其他的静态成员,不能访问非静态成员。它们没有this指针,因为它们不属于任何对象实例。
重载与重写:静态方法可以被重载,但不能被重写,因为它们属于类,不属于类的任何实例。
应用举例
计数器:可以使用静态成员变量来记录该类实例的总数。每当创建新实例时,静态成员变量增加;销毁实例时,减少。
共享数据:当多个实例需要共享某些数据时,可以将这些数据定义为静态成员变量。
点击查看代码
class BufferedOutput {
public:
// 返回任何对象写入的字节数
short BytesWritten() { return bytecount; }
// 重置计数器
static void ResetCount() { bytecount = 0; }
// 静态成员声明
static long bytecount;
};
// 需要在类声明的外部去定义静态成员变量
long BufferedOutput::bytecount;

浙公网安备 33010602011771号