【发布时间】:2013-04-24 16:59:29
【问题描述】:
我正在制作一个游戏,在游戏中有一个包含玩家的列表,该列表处理 Player 类。我还有一个类,它是 Player 的一个孩子,叫做 HumanPlayer。我在玩家列表中添加了一个人类玩家。但是当我运行渲染函数时,它不会从humanplayer 渲染,而是从播放器渲染。 render 函数是一个虚函数,应该被覆盖,但不是。
这是我定义列表的地方:
std::list<Player> playerList;
这是我在列表中添加人类玩家的地方:
playerList.push_front(HumanPlayer(512,512,&entityList));
这里是渲染函数调用渲染的地方:
if(!playerList.empty()){
std::list<Player>::iterator iter;
for (iter = playerList.begin(); iter != playerList.end(); iter++){
iter -> render(canvas);
}
}
【问题讨论】:
-
你是
slicingstackoverflow.com/questions/274626/…,多态需要pointers。
标签: c++ list function inheritance