我对在 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 的值?
谢谢