的動態初始化可以說我有以下抽象類實例
class Parent {
protected:
virtual void overrideMe() = 0;
}
class ChildA : public Parent {
protected:
void overrideMe() = 0{}
}
class ChildB : public Parent {
protected:
void overrideMe() = 0{}
}
class UtilClass {
public:
vector<Parent> planes;
void compute() {
Parent& p = planes[0];
}
}
在這種情況下,我在計算()在UtilsClass錯誤得到,即「父」不能被初始化。
我想要做的是在UtilClass中填充數組「平面」(使用ChildA或childB,即非混合類型)並進行一些計算。
我是否必須在初始化期間使用指針,或者更好地使用模板?我幾乎可以肯定,模板使用不是必要的,因爲我想限制使用的只有父類的孩子。
感謝派生的對象的矢量編輯 - 意思是說「具有純粹的虛擬功能」 – mathematician1975 2012-07-30 18:19:20