类型兼容规则

定义:
类型兼容规则是指在需要基类对象的任何地方,都可以使用公有派生类的对象来替代。
因为公有继承,派生类得到了基类除了构造函数,析构函以外的所有成员。这样,公
有派生类实际具备了基类的所有功能,凡是基类能解决的问题,公有派生类都可以解
决。
类型兼容规则所指的替代包括以下的情况:
1.派生类的对象可以隐含转换为基类的对象。
2.派生类的对象可以初始化基类的引用。
3.派生类的指针可以隐含转化为基类的指针。
注意:在替代之后,派生类的对象就可以作为基类的对象使用,但只能使用从基类继承
的成员。
例如:
class B{...}
class D:public B{...}
B b1,*pb1;
D d1;
这时,
(1)派生类对象就可以隐含转换为基类的对象,即使用派生类对象中从基类继承来的成
员,逐个赋值给基类对明象成员:
b1 = d1;
(2)派生类的对象也可以初始化基类对象的引用:
B &rb = d1;
(3)派生类对象的地址也可以隐含转化为指向基类的指针:
pb1 = &d1;
好处:
由于类型兼容规则的引入,对于基类及公有派生类的对象,可以使用相同的函数统一进行
处理,因为当函数的形参为基类的对象(或引用、指针)时,实参可以派生类的对象(或指针)
,而没有必要为每一个类设计一个单独的模块,大大提高了程序的效率,这正是c++的又一特色,
即多态性,可以说类型兼容规则是多态的重要基础之一。

原文链接: https://www.cnblogs.com/wangyonglong/p/5178458.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    类型兼容规则

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/228317

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月13日 下午1:55
下一篇 2023年2月13日 下午1:55

相关推荐