在网上看到了一个pplive的面试题,在csdn上面跟网友探讨了一下,分享一下: #include <iostream> using namespace std; class A { public: A(){ doSth(); } virtual void doSth(){ printf("I am A");} }; class B:public A { public: virtual void doSth(){ printf("I am B");} }; int main( ) { B b; return 0; } 输出是I am A,原因是此时B还没有构造出来