如何将基类实例分配给派生类的派生类的基类“成员”?
class A{
public:
A();
A(const A& i);
A &operator =(const A& i);
~A();
};
class B: public A{
public:
void f(){
A a;
// calc(a);
*this = a; // <- how?
}
void x(){};
private:
int i;
};
最佳答案
最简单的解决方案是使用 dynamic_cast
:
dynamic_cast<A &>(*this) = a;
关于c++ - 分配给派生类的基组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33899165/