在编译时的动态联编 遇到的问题?
1 #include <iostream>2 using namespace std;3 class A{4 public:5 virtual int get(){return 1;}6 };7 class B:public A{8 public:9 int get(){return 2;}10 };11 int main(void){12 A a;13 B b;14 int one=a.get();15 cout<<"a的值是"<<one<<endl;16 a=b;17 one=a.get();18 cout<<"b的值是"<<one<<endl;19 return 0;20 }#include <iostream>using namespace std;class A{ public: virtual int get(){return 1;}};class B:public A{ public: int get(){return 2;}};int main(void){ A a; B b; int one=a.get(); cout<<"a的值是"<<one<<endl; a=b; one=a.get(); cout<<"b的值是"<<one<<endl; A * a2 = new A(); B * b2 = new B(); int o=a2->get(); cout<<"a2的值是"<<o<<endl; a2=b2; o=a2->get(); cout<<"b2的值是"<<o<<endl; //这里应该会输出2. return 0;}