这是简单的类定义,如
class Base{ public: virtual void Func(){ cout<<"Func in Base"<<endl; } }; class Derived : public Base{ public: virtual void Func(){ cout<<"Func in Derived"<<endl; } } Base *b = new Derived();
和声明
(b->*&Base::Func)();
调用Func的派生版本,不同于b-> Base :: Func(),它按预期调用基本版本,为什么会发生这种情况,这个调用的含义到底是什么?