我的试验例子如下:
struct base {
virtual ~base(){}
int x;
};
struct derived: public virtual base {
base * clone() {
return new derived;
}
derived(): s("a") {}
std::string s;
};
int main () {
derived d;
base * b = d.clone();
derived * t = reinterpret_cast<derived*>(b);
std::cout << t->s << std::endl;
return 0;
}
由于“b”是衍生产品类别的一个点,因此,重新解释——播像应当只是工作。 我想知道它为什么坠毁。 与此同时,如果我用动态节目取代重新解释,那么它就能够发挥作用。