您的位置:首页 > 编程语言 > C语言/C++

对C++中基类与派生类的转换的认识

2015-04-10 22:04 239 查看
一:就如同void类型的指针和其他类型指针的转换一样,基类和派生类的指针和引用的转换也是一般与特殊的转换,一般转换为特殊需要显式类型转换,特殊转换为一般会隐含转换。

二:基类的对象不能显式类型转换为派生类的对象,这是因为派生类中没有初始化基类对象的构造函数,但是派生类对象可以转换为基类的对象,这是因为基类中的复制构造函数的形参是基类对象的引用,而这个形参又可以由派生类的对象代替,所以可以进行派生类的对象的初始化。

注意:基类和派生类的指针和引用的转换不需要构造函数是因为它们没有生成新对象,而基类和派生类的对象的转换需要构造函数是因为它们生成了新对象。

以上就是我对于基类和派生类的转换的认识。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: