c++中向上类型转换和向下类型转换

http://www.bjtarena.com/danapeixunjishu/C__peixun/484.html

http://blog.csdn.net/liux1990000/article/details/6052000

C++的世界中有这样两个概念,向上类型转换,向下类型转换,分别描述的是子类向基类和基类向子类的强制类型转换。

在向上类型转换的过程中:使用指针和引用不会造成切割,而使用直接赋值会造成切割。

在向下类型转换的过程中:使用dynamic_cast进行向下强制类型转换。使用此关键字有一下几个条件:必须有虚函数;必须打开编译器的RTTI开关;必须有继承关系。符合以上条件,转换成功。否则,会抛出std::bad_cast异常,转换返回NULL

你可能感兴趣的:(C++,c,null,编译器)