C++中等同于Java静态方法的内容

16
我正在尝试在C++类中创建一个方法,该方法可以在不创建类的实例的情况下被调用(就像Java中的静态方法),但我一直遇到这个错误:error: expected unqualified-id before ‘.’ token 这是我正在尝试编译的.cpp文件:
using namespace std;
#include <iostream>

class Method {
    public:
    void printStuff(void) {
        cout << "hahaha!";
    }
};

int main(void){
    Method.printStuff(); // this doesn't work as expected!
    return 0;
}

你应该真正找一本好书。static成员函数是语言的基本特性。 - David Rodríguez - dribeas
@DavidRodríguez-dribeas 同意。C++ 太大太复杂了,仅通过互联网学习效率不高。 - weberc2
1个回答

31

在C++中,它是

Method::printStuff();

你需要将方法声明为static

class Method{
    public:
    static void printStuff(void){
        cout << "hahaha!";
    }
};

::被称为作用域解析运算符。如果方法在一个类实例上,可以使用.来调用该方法,但不需要实例(因为它是静态的...)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接