use_virtual_func_without_pointer_left
#include <oistream> using namespace std; class A { public: void foo() { func(); } virtual void func() { cout<<"a"<<endl; } } class B : public A { public: virtual void func() { cout<<"b"<<endl; } } void main() { B* b = new B; b->foo(); }
运行结果是"b".我就当做是func()为this->func()了.
源头是cocos2dx的CCObject的copy()和copyWithZone().