Я новичок в C++, и я создаю игру. У меня есть класс, называемый основным, в котором я объявляюIs Extern Break Encapsulation
Game * game; //globally
int main() {
game = new Game();
game->show();
}
Мой класс игра начинает свою игру и т.д. В настоящее время в других классах (игрок, враг и т.д.), я получить доступ к переменным из игры, такие как здоровье игрока, используя
#include<game.h>
extern Game * game;
func::func() {
game->health->resetHealth();
}
Является ли эта парадигма инкапсуляции/ood нарушением? Это плохая практика? Дело в том, что я вижу другой способ сделать это для игры.
В примере, который вы указали, вы можете легко использовать параметр. – chris
Почему бы вам не сделать игру локальной переменной в главном? –