C++ でオブジェクトをダウンキャストすることに疑問があります。
ここに例があります:
class A { }
class B : public A {
public:
void SetVal(int i) { _v = i; }
private:
int _v;
}
A* a = new A();
B* b = dynamic_cast<B*>(a);
b->SetVal(2);
この例ではどうなるでしょうか。子クラスのように基本クラスを変更しています...メモリに関連してどのように機能しますか?
このキャストでは... B のインスタンスを作成し、A の値をコピーするようなものですか?
ありがとう