类型兼容规则

原创 2016年05月31日 20:00:22

what is it?
在需要基类对象的任何地方,都可以,使用公有派生类的对象来替代。

(1)派生类对象可以隐含转换为基类对象,即用派生类对象从基类继承来的成员,逐个赋值给基类对象成员;
(2)派生类对象也可以初始化基类对象的应用;
(3)派生类对象地址可以隐含转换为指向基类的指针。

在替换之后,派生类对象就可以作为基类对象使用,但只能使用从基类继承的成员。

相关文章推荐

四十三、继承与派生:赋值兼容性规则

派生继承自基类,这样基类对象具有的功能,派生类对象也有。这样引出了赋值兼容性规则。Derived is a Base 类比Efective中的is-a章节 class Base {…}; class ...

C语言隐式类型转换规则

  • 2011年10月12日 14:35
  • 64KB
  • 下载

【总结】C++基类与派生类的赋值兼容规则

在初步探索了C++继承的语言特性之后,总结下其赋值兼容规则:1.子类对象可以赋值给父类对象(切割/切片)    在公有继承的前提下,子类是可以赋值给父类对象的,为什么是共有继承(public),因为公...
  • pawnsir
  • pawnsir
  • 2016年05月28日 18:35
  • 459

C++赋值兼容规则和多态

赋值兼容规则是指在需要基类对象的任何地方都可以使用公有派生类的对象来替代。通过公有继承,派生类得到了基类中除构造函数、析构函数之外的所有成员,而且所有成员的访问控制属性也和基类完全相同。这样,公有派生...

C++学习之赋值兼容规则以及在私有、保护继承下的强制转换

赋值兼容规则是指在需要基类对象的任何地方都可以使用公有派生类的对象来替代。通过公有继承,派生类得到了基类中除构造函数、析构函数之外的所有成员,而且所有成员的访问控制属性也和基类完全相同。这样,公有派生...

前端插件之间面对重复使用规则的兼容转换---$(...).XXX is not a function

最近在着手开发一个工程的前端工作,开发结束后却碰到了一个前端js报错:$(...).bootstrapTable is not a function 开始是小编也很困惑,着手解决各种*.js直接的...

C++继承详解一 ——继承、继承关系、赋值兼容规则、作用域

C++是一门面向对象的编程语言(OOP),它有三大特性:封装,继承,多态。 今天我来主要详解一下继承。 一,继承概念: 继承机制(inheritance)是面向对象程序设计中使代码可以复用的最重...
  • Pg_dog
  • Pg_dog
  • 2017年03月30日 13:30
  • 503
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:类型兼容规则
举报原因:
原因补充:

(最多只允许输入30个字)