MST

星途 面试题库

面试题:C++中类成员的static应用场景

请简述在C++类中使用static成员变量和static成员函数的常见应用场景,并举例说明如何初始化static成员变量。
22.7万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试

常见应用场景

  1. 共享数据:多个对象需要共享同一份数据时,使用 static 成员变量。例如,统计类实例化的对象个数。
  2. 工具函数:当函数不依赖于对象的具体状态,只是执行一些通用的操作时,可定义为 static 成员函数。比如,数学计算类中的一些通用计算函数。

初始化 static 成员变量示例

#include <iostream>

class MyClass {
public:
    static int sharedValue;
    static void printSharedValue() {
        std::cout << "Shared Value: " << sharedValue << std::endl;
    }
};

// 在类外初始化static成员变量
int MyClass::sharedValue = 10;

int main() {
    MyClass obj1;
    MyClass obj2;

    MyClass::printSharedValue(); // 输出 Shared Value: 10

    return 0;
}

在上述代码中,sharedValueMyClassstatic 成员变量,在类外进行了初始化。printSharedValuestatic 成员函数,用于打印 sharedValue