一、开宗明义
1.派生类到基类的转化存在,这是理解多态的基础;
2.基类到派生类的转化不存在;
3. 派生类到基类的转化包括以下三种情况:
- 派生类对象转化为基类对象
- 基类对象指针指向派生类对象
- 用派生类对象初始化积累对象的引用
二、派生类到基类的转化
1.派生类对象转化为基类对象
转化的结果就是:派生类新增的数据类型全部舍弃,而调用函数时只能调用基类的函数。这就是一个砍掉的派生类多余部分的过程。派生类对象也是基类对象。
#include <iostream>
using namespace std;
//基类
class A {
public:
A(int a) { m_a = a; }
public:
void display();
public:
int m_a;
};
void A::display() {
co