相当于C++中的Java静态方法

And*_*een 14 c++

我正在尝试在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;
}
Run Code Online (Sandbox Code Playgroud)

Luc*_*ore 27

在C++中它是

Method::printStuff();
Run Code Online (Sandbox Code Playgroud)

你必须将方法声明为static.

class Method{
    public:
    static void printStuff(void){
        cout << "hahaha!";
    }
};
Run Code Online (Sandbox Code Playgroud)

::被称为范围解析运算符.你可以调用方法,.如果它在类实例上,但实例不是必需的(它是静态的,所有...).