请问一个typeid的问题?
- C/C++ code
class A{public: A(void){} ~A(void){}private: virtual void f(){};};class B : public A{public: B(void); ~B(void);};A * a = dynamic_cast<A *>(new B);
cout << typeid(a).name(); //为什么这里打印出来的是 CLASS A *
为什么不是CLASS B *?
[解决办法]
虽然内存按B分配,但类型还是A×