我有3节课。 DrawGameComp'和'GameComp',其中'GameComp'是'DrawGameComp'的基类。我在Game类中有一个指针数组,它是控制类。 “ GameComp * components [];从主要的我必须创建一个动态的Game实例,并将GameComp和DrawGameComp的新对象添加到GameComp类型的指针数组中。
Game Game1(2);
Game1.Add(new GameComponent);
Game1.Add(new DrawableGameComponent);
我在主要部分完成了这一部分。因为从主要我必须调用Add传递对象作为参数。当我存储这些对象时,我还希望将id为1分配给第一个对象,将id为2分配给第二个对象。我怎么能包括这一点。 我的Game类的Add()函数如下
void Game::Add(GameComponent*)
{
components[0]=GameComp;
componentCount++;
}
但它给了我错误。我努力了。但我不能。另外如何在Array中调用这些对象的Display()成员函数?这样吗? 组分[0] - >显示器();
答案 0 :(得分:1)
Add方法应如下所示:
void Game::Add(GameComponent* comp)
{
components[componentCount++] = comp;
}
确保在构造函数中将componentCount
清零。
使用数组:
components[i]->DoSomething();
答案 1 :(得分:0)
1)您可能想写下以下内容:
void Game::Add(GameComponent* comp)
{
components[componentCount++] = comp;
}
2)components [0] - >如果display是GameComponent类的成员函数,Display()将起作用。