我正在通过Stroustrup的C++11 FAQ学习C++11。我有一个问题。
如果一个虚函数在一个类中被定义为final,那么RTTI(dynamic_cast和typeid)是否仍然可以在其派生类上工作?
@MSalters:我的意图是,假设:
如果一个虚函数在一个类中被定义为final,那么RTTI(dynamic_cast和typeid)是否仍然可以在其派生类上工作?
@MSalters:我的意图是,假设:
struct A {
virtual void f() final; // only one virtual function, but final
};
struct B : A {
};
A* pa = new B;
B* pb = dynamic_cast<B*>(pa); // would this work? I guess it applies to typeid as well.