1
的虛方法,我有以下設置:調用未知的子類
class Parent {
virtual void foo(int x) = 0;
};
class Son : public Parent {
void foo(int x) {};
};
class Daughter : public Parent {
virtual void foo(int x) {};
};
如果我有vector<Parent> parents
,我會雖然有環矢量如下所示:
for (int i = 0; i < parents.size(); i++) {
Parent s = parents[i];
s.foo(-1);
}
如何我打電話給孩子們(他們可能是兒子或女兒)嗎?目前我得到兩個錯誤:
Variable type 'Parent' is an abstract
Variable type 'Parent' is an abstract class
@Barry修正了在我的問題中只是一個錯字而不是真正的代碼的派生。 – Bren