До сих пор я использовал классы следующим образом:
GameEngine.h объявляет класс следующим образом
class GameEngine {
public:
// Declaration of constructor and public methods
private:
InputManager inputManager;
int a, b, c;
// Declaration of private methods
};
Мои файлы GameEngine.cpp тогда просто реализуют методы
#include "____.h"
GameEngine::GameEngine() {
}
void GameEngine::run() {
// stuff
}
Однако недавно я прочитал, что объявления переменных не должны находиться в файле заголовка. В приведенном выше примере это будет inputManager и a, b, c.
Я искал, где разместить объявления переменных, и ближайший ответ, который я нашел, был следующий: Объявление переменной в файле заголовка
Однако я не уверен, имеет ли здесь смысл использование extern; Я просто объявляю частные переменные, которые будут использоваться только в экземпляре самого класса. В порядке ли мои объявления переменных в файлах заголовков? Или я должен положить их в другое место? Если я должен поместить их в файл cpp, они будут размещены непосредственно под #include?