Эквивалент статических методов 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;
}
Ответы
Ответ 1
В С++ это
Method::printStuff();
и вы должны объявить метод как static
.
class Method{
public:
static void printStuff(void){
cout << "hahaha!";
}
};
::
называется оператором разрешения области. Вы можете вызвать метод с помощью .
, если он находится в экземпляре класса, но экземпляр не требуется (он является статическим и все...).