У меня есть 3 класса, которые происходят друг от друга - GameScreen - это базовый класс, из которого вызывается MenuScreen. Затем у меня есть третий класс «TitleScreen», который происходит из «MenuScreen».Наследование многоуровневого класса с несогласованными конструкторами
Поток в основном из базового класса: «GameScreen» -> «MenuScreen» -> «TitleScreen»
Базовый класс «GameScreen» не имеет параметров в его конструктор, как мудр «TitleScreen», однако мне нужен параметр для «MenuScreen». Я в настоящее время есть файлы заголовков, как:
GameScreen.h
class GameScreen
{
public:
GameScreen();
}
MenuScreen.h
class MenuScreen : public GameScreen
{
public:
MenuScreen(std::string title);
}
TitleScreen.h
class TitleScreen : public MenuScreen
{
public:
TitleScreen(std::string title) : MenuScreen(title);
}
То, что я с трудом пытается понять, если это возможно в C++ (я следую примеру C# для Game State Management, который делает это). Чтение через наследование классов в некоторых книгах, которые у меня есть, охватывает только параметры, унаследованные от базового класса, поскольку мой базовый класс образца не имеет параметров.
Да, он работает точно так же, как вы написали - за исключением того, что вы должны вызывать конструктор MenuScreen в реальной реализации, а не в объявлении конструктора. – jlahd