You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++类静态变量调用静态set()函数未变更问题咨询

之前查StackOverflow上关于C++类静态成员的讨论,参考了不少开发者的建议后,我写了这段测试代码来验证静态成员的行为,代码结构如下:

测试类静态成员行为的C++代码

头文件中的类声明

class OurClass {
private:
    static int x, y;
public:
    static void setVals(int valx, int valy);
    static int getValx();
    static int getValy();
    static void initialize();
};

实现文件(.cpp)内容

#include <iostream>
#include "OurClass.h"  // 引入对应的头文件

// 静态成员变量必须在类外进行定义
int OurClass::x;
int OurClass::y;

// 静态成员函数的实现
void OurClass::setVals(int valx, int valy) {
    x = valx;
    y = valy;
}

int OurClass::getValx() {
    return x;
}

int OurClass::getValy() {
    return y;
}

void OurClass::initialize() {
    // 初始化静态成员变量
    x = 0;
    y = 0;
}

int main() {
    // 测试静态成员的使用
    OurClass::initialize();
    std::cout << "初始状态: x = " << OurClass::getValx() << ", y = " << OurClass::getValy() << std::endl;
    
    OurClass::setVals(10, 20);
    std::cout << "调用setVals后: x = " << OurClass::getValx() << ", y = " << OurClass::getValy() << std::endl;
    
    return 0;
}

内容的提问来源于stack exchange,提问作者JayY

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:02:34