私は本当に混乱しているので、これを聞かなければなりません。アプリケーションを作成しようとしましたが、Baseクラスのベクトルにある派生クラスの変数に到達する方法がわかりません。コードは次のとおりです。
class A {
public:
A() { };
std::vector<A> aVector;
void Foo();
}
class B : public A {
public:
B() { };
int j;
}
void A::Foo() {
aVector.push_back( B() );
// Here I would like to reach B::j, but only the members and variables of A comes in
aVector[0].j; // wrong
B b = aVector[0]; // no suitable user-defined conversion from "A" to "B" exists
// should I use cast? which one?
}
私は現在、アプリケーションプログラミングを通じて継承とこの種のことを学んでいますが、今は本当に行き詰まっています。
他の質問を探しましたが、問題を解決する質問が見つかりませんでした。ある場合、そして私が逃した場合は、申し訳ありません。