upcast 做了什么操作
Posted buddho
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了upcast 做了什么操作相关的知识,希望对你有一定的参考价值。
把子类中仅仅继承而来的成员,赋值给父类。
但是,不会改变虚表!因为这个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; }
以上是关于upcast 做了什么操作的主要内容,如果未能解决你的问题,请参考以下文章