Code前端首页关于Code前端联系我们

静态成员变量在C++中的使用

terry 2年前 (2023-10-01) 阅读数 119 #c++
文章标签 MySQL Workbench

C++中的静态成员变量是特殊的变量,它们独立于类对象,而与类关联。它们可以用于多个类对象之间共享数据,并且在程序中只有一份拷贝。

一、静态成员变量定义和初始化

静态成员变量的定义和普通成员变量有所不同,它要在类声明中进行定义,但是不能在类声明中初始化。静态成员变量在类外进行初始化,并且需要指定它的数据类型和类名。

class MyClass {
public:
    static int num; //定义静态成员变量
};
int MyClass::num = 0; //初始化静态成员变量

需要注意的是,如果静态成员变量是一个对象或者指针,那么需要在类外进行构造或初始化操作。

二、静态成员变量的访问

访问静态成员变量可以使用类名或者对象名加“.”的方式进行访问,但是建议使用类名进行访问,因为静态成员变量不属于对象,而是属于类。

class MyClass {
public:
    static int num;
};
int MyClass::num = 0;
int main() {
    MyClass obj;
    obj.num = 10; //使用对象名访问静态成员变量
    MyClass::num = 20; //使用类名访问静态成员变量
    return 0;
}

三、静态成员变量的应用

1、用于统计对象数量

静态成员变量可以用于统计类的对象数量,每次创建对象时,构造函数可以对静态成员变量进行加1操作,每次销毁对象时,析构函数可以对静态成员变量进行减1操作。

class MyClass {
public:
    static int count; //对象数量
    MyClass() { count++; }
    ~MyClass() { count--; }
};
int MyClass::count = 0;
int main() {
    MyClass obj1, obj2;
    cout 

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门