gpt4 book ai didi

c++ - 如何调用 C++ 静态方法

转载 作者:IT老高 更新时间:2023-10-28 12:44:07 24 4
gpt4 key购买 nike

是否可以像在 Java 中一样从 C++ 中的静态方法返回对象?我正在这样做:

class MyMath {
public:
static MyObject calcSomething(void);
private:
};

我想这样做:

int main() { 
MyObject o = MyMath.calcSomething(); // error happens here
}

MyMath 类中只有静态方法,所以实例化它没有意义。但我得到这个编译错误:

MyMath.cpp:69: error: expected primary-expression before '.' token

我做错了什么?我实例化 MyMath 吗?如果可能的话,我宁愿不这样做。

最佳答案

使用 :: 代替

MyObject o = MyMath::calcSomething();

当你在没有类对象的情况下调用方法时,你应该使用 :: 表示法。您也可以通过类对象或指向它们的指针调用静态方法,在这种情况下,您应该使用通常的 .-> 表示法:

MyObject obj;
MyObject* p = new MyObject();

MyObject::calcSomething();
obj.calcSomething();
p->calcSomething();

关于c++ - 如何调用 C++ 静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1208853/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com