对C++中基类与派生类的转换的认识
2015-04-10 22:04
239 查看
一:就如同void类型的指针和其他类型指针的转换一样,基类和派生类的指针和引用的转换也是一般与特殊的转换,一般转换为特殊需要显式类型转换,特殊转换为一般会隐含转换。
二:基类的对象不能显式类型转换为派生类的对象,这是因为派生类中没有初始化基类对象的构造函数,但是派生类对象可以转换为基类的对象,这是因为基类中的复制构造函数的形参是基类对象的引用,而这个形参又可以由派生类的对象代替,所以可以进行派生类的对象的初始化。
注意:基类和派生类的指针和引用的转换不需要构造函数是因为它们没有生成新对象,而基类和派生类的对象的转换需要构造函数是因为它们生成了新对象。
以上就是我对于基类和派生类的转换的认识。
二:基类的对象不能显式类型转换为派生类的对象,这是因为派生类中没有初始化基类对象的构造函数,但是派生类对象可以转换为基类的对象,这是因为基类中的复制构造函数的形参是基类对象的引用,而这个形参又可以由派生类的对象代替,所以可以进行派生类的对象的初始化。
注意:基类和派生类的指针和引用的转换不需要构造函数是因为它们没有生成新对象,而基类和派生类的对象的转换需要构造函数是因为它们生成了新对象。
以上就是我对于基类和派生类的转换的认识。
相关文章推荐
- C++基类与派生类的转换
- 命名白白c++ 基类和派生类的转换
- C++基类、派生类指针转换
- C++ 从基类到派生类的转换
- C++中基类和派生类之间的转换实例教程
- C++基类与派生类的转换【zz】
- C++派生类与基类的转换规则
- 派生类到基类的转换(c++学习笔记)
- 派生类到基类的转换(c++学习笔记)
- 从零开始学C++之继承(二):继承与构造函数、派生类到基类的转换
- C/C++开发语言系列之7---C++基类与派生类的转换
- C++ 派生类到基类转换的可访问性
- 从零开始学C++之继承(二):继承与构造函数、派生类到基类的转换
- C++基类和派生类之间的转换
- C++中基类对象安全转换为派生类对象的方法
- C++派生类与基类的转换
- c++ 初学 派生类到基类转换的可访问性
- C++基类与派生类的转换
- C++基类与派生类的转换
- C/C++日常学习总结(第十四篇)C++基类与派生类的转换