把子类中仅仅继承而来的成员,赋值给父类。
但是,不会改变虚表!因为这个obj的类型没变。
#include <stdio.h> using namespace std; class A{ private: int i; public: A(int ii):i(ii){} void print(){ printf("A::print() %d\n",i); } }; class B:public A{ private: int j; public: B(int ii,int jj):A(ii),j(jj){} void print(){ printf("B::print() %d ",j);A::print(); } }; int main() { A a(1); B b(2,3); a.print(); b.print(); a = b; a.print(); return 0; }