好吧,我作爲一個程序員很缺乏經驗,更不用說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