私は次の2つのクラスを持っています、1つは他から継承します
Class A{
void print(){cout << "A" << endl;}
}
Class B : A{
void print(){cout << "B" << endl;}
}
Class C : A{
void print(){cout << "C" << endl;}
}
次に、別のクラスで次のようになります。
vector<A> things;
if (..)
things.push_back(C());
else if (..)
things.push_back(B());
things[0].print();
これは常にA
を出力します。ベクトルに追加したものに応じてBまたはCを出力したいのですが、
どうすればよいですか?
抽象化を試しましたが、C ++での使用方法が完全にはわかりません。また、抽象化が機能していません。