- A+
所属分类:C++
定义
在C++中,把子类的对象当做父类对象看待,就称为”向上造型“(upcast)。
如果类D是从类B派生而来,那么
D类型的对象可以交给B类型变量
D类型的指针可以交给B类型指针。
D类型的引用可以交给B类型引用。
子类对象具有父类对象所具有的绝大部分成员, 除了父类的私有成员.
造型和类型转换的区别
造型并不会丢失数据,而只是将数据类型看成了另一种类型,如向上造型,将对象D看成对象B,只能访问类B的成员变量和成员函数,但是对象D中包含的关于类D 的东西并没有丢失。而类型转换是存在数据丢失的,如将double类型转换为int类型,那么会丢失一部分数据,降低数据精度,丢失的数据无法找回。