好吧,我作为一个程序员很缺乏经验,更不用说C++了,所以请忍受我在这里。我想要做的是让一个容器类拥有一个父类指针,然后使用多态性来存储一个子类对象。问题是我想通过父类指针调用其中一个子类的函数。这里有一种例子说明我的意思代码:C++多态,函数调用
class SuperClass
{
public:
int x;
}
class SubClass : public SuperClass
{
public:
void function1()
{
x += 1;
}
}
class Container
{
public:
SuperClass * alpha;
Container(SuperClass& beta)
{
alpha = beta;
}
}
int main()
{
Container cont = new Container(new SubClass);
}
(我不知道这是正确的,我还真是不稳固的三分球,我希望它横跨得到的地步,至少。)
所以,我不完全确定我是否可以做到这一点。我有一个偷偷摸摸的怀疑,答案是否定的,但我想确定。如果有人有另一种方法来完成这种事情,我很乐意听到它。
呼叫孩子的功能在哪里? (你是否想把function1()放在某处?) – 2010-03-23 17:27:15
多态意味着从派生类中覆盖的基类中调用一个函数。仅在派生类中定义的调用函数显示设计问题。你可能想在这种情况下投。 – stefaanv 2010-03-23 19:09:32
@stefaanv这些需要演员阵容的“设计问题”表明应该找到演员以外的解决方案! :) – 2010-04-06 01:34:35