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

时间:2012-09-08 19:24:13

标签: 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;
}

1 个答案:

答案 0 :(得分:27)

在C ++中它是

Method::printStuff();

,您必须将方法声明为static

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

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