构造函数不一致的多级类继承
Multi-level class inheritance with inconsistent constructors
我有三个相互派生的类-GameScreen是MenuScreen派生的基类。然后我有第三个类"TitleScreen",它派生自"MenuScreen"。
流程基本上来自基类:"GameScreen"->"MenuScreen"->"TitleScreen"
基类"GameScreen"的构造函数中没有参数,就像wise的"TitleScreen"一样,但我需要一个"MenuScreen"的参数。我目前的头文件是:
GameScreen.h
class GameScreen
{
public:
GameScreen();
}
菜单屏幕.h
class MenuScreen : public GameScreen
{
public:
MenuScreen(std::string title);
}
标题屏幕.h
class TitleScreen : public MenuScreen
{
public:
TitleScreen(std::string title) : MenuScreen(title);
}
我很难理解的是,这在C++中是否可行(我正在关注游戏状态管理的C#示例)。通过阅读一些书中的类继承,我发现它只涵盖从基类继承的参数,因为我的示例基类没有参数。
-
在每个类声明之后都缺少
;
。 -
如果您编写
TitleScreen(std::string title) : MenuScreen(title)
,那么您正在定义方法的主体,但主体缺失。。。所以你应该把声明放在你的标题屏幕上。h:class TitleScreen : public MenuScreen { public: TitleScreen(std::string title); };
然后将构造函数的主体放置到TitleScreen.cpp:
#include "TitleScreen.h" TitleScreen::TitleScreen(std::string title) : MenuScreen(title) { // .. }
编辑:根据这个问题修正了术语。
相关文章:
- C++ 多级虚拟继承编译问题
- 多级继承错误 C2280:"atttempting to reference a deleted function"
- C++虚函数的多级继承
- 多级继承程序代码的输出
- 多级继承
- 在多级继承中重写,中间派生类未覆盖函数
- 如果多级继承,如何使用虚拟关键字
- 多级继承C
- C++ 中的多级继承和调用基构造函数
- 为什么dynamic_cast返回具有多级继承的 null
- C++ 多级继承不起作用
- 在C 中的多级虚拟继承中受保护的构造函数
- 在多级继承中派生的虚拟基类会发生什么
- 虚拟基类在多级继承中有什么用
- C++多级继承
- 多级/多重继承期间的对象大小
- C++多级继承函数调用
- 虚拟函数未返回具有多级继承的派生类型
- 多级继承成员访问
- 多级继承和多态性