私は次のことをしているとしましょう
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のcompute()で、「親」を初期化できないというエラーが発生します。
私がやりたいのは、UtilClassの配列「planes」(ChildAまたはchildB、つまり非混合型)を埋めて、いくつかの計算を行うことです。
初期化中にポインターを使用する必要がありますか、それともテンプレートを使用するために使用する方がよいですか?使用をParentクラスの子のみに制限したいので、テンプレートの使用は必要ないとほぼ確信しています。