【发布时间】:2018-06-07 09:46:44
【问题描述】:
我有以下类架构:
Pokemon
|
--------------------------- ... -------- ...
| | |
Bulbasaur Charamander ... Ditto ...
我想从Ditto 的实例创建一个新的Pokemon 类,例如:
new Charamander(Ditto);
为此,我的想法是使用 super class 构造函数:
new Charamander(Pokemon);
Pokemon 是Ditto 的超类。
但我不知道如何访问我的Ditto 的超级类 来提供Charamander 的构造函数。
【问题讨论】:
-
有些语言可以通过猜测来学习。 C++ 不能。听起来像good C++ book 是为了。
-
C++中没有超类,主要是因为我们有多重继承。
-
在决定如何使用它之前学习一个工具很重要。在这里,你反过来:在知道你能用它做什么之前选择你想如何使用 C++。不想变得粗鲁,但你在这里完全偏离了标准。 1/ 学习 C++。 2/ 扔掉所有东西。 3/ 重新开始。
-
您可能会发现在类层次结构之外,在某种“游戏规则引擎”中管理和实现此类转换更容易。
-
@Ron 这是一个有趣的帖子。但是引用的书对我来说有点贵。你知道可以帮助我回答问题的免费在线书籍吗?
标签: c++ oop inheritance