基类和子类的关系
子类对象函数基类对象的一部分,因此子类可以向基类转换,但是基类不能向子类转换(特殊情况除外)。
基类向子类转换
基类对子类转换只存在于指针和引用之间
基类对子类转换不存在于对象之间
当初始化或者赋值某个对象时,初始化调用构造函数,而赋值会调用赋值运算符,这些成员通常包括一个参数,该参数是类类型的const版本的引用。
子类向基类转换
1.如果基类存在一个或者是多个虚函数,可以使用dynamic_cast请求类型转换,该转换的在运行时检查。
2.如果一直某个基类向子类转换是安全的,可以使用static_cast来强制覆盖掉编译器的检查工作