this指针指向了什么!(本质)
我列出了下面的测试代码:
class Father{public: virtual void show() { cout<<"Father show()"<<endl; cout<<typeid(*this).name(); }};class Son : public Father{public: void show() { cout<<"Son show()"<<endl; cout<<typeid(*this).name(); } };int main(int argc,char argv[]) { typeid(*this).name() 结果: //Father中的show()不是虚函数 // Son s; // s.Father::show(); // father //Son s; //s.show(); //Son //Father *p=new Father ; // p->show(); //father //Father *p=new Son; //p->show(); //father //Father *p=new Son; //p->Father::show(); //father //修改Father中的show()为虚函数 //Son s; //s.Father::show(); //son //Son s; //s.show(); //son //Father *p=new Father ; //p->show(); //father //Father *p=new Son ; //p->show(); //Son //Father *p=new Son; //p->Father::show(); //Son