Подтвердить что ты не робот

Эквивалент статических методов Java в С++

Я пытаюсь создать метод в классе С++, который можно вызвать без создания экземпляра класса (например, статический метод в 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;
}
4b9b3361

Ответ 1

В С++ это

Method::printStuff();

и вы должны объявить метод как static.

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

:: называется оператором разрешения области. Вы можете вызвать метод с помощью ., если он находится в экземпляре класса, но экземпляр не требуется (он является статическим и все...).