所谓“切割”,就是当一个子类对象通过值传递给基类对象,这个基类的拷贝构造函数将被调用,也就是说此时生成由子类对象拷贝构造了一个基类对象,该对象失去了子类的所有特性,退化成了完全的基类对象。所以当我们向上转型如果不用引用或指针,对象将被切割。下面的示例代码对此进行了验证。
示例代码:
所谓“切割”,就是当一个子类对象通过值传递给基类对象,这个基类的拷贝构造函数将被调用,也就是说此时生成由子类对象拷贝构造了一个基类对象,该对象失去了子类的所有特性,退化成了完全的基类对象。所以当我们向上转型如果不用引用或指针,对象将被切割。下面的示例代码对此进行了验证。
示例代码: