第十四章 继承和组合

简介:代码重用机制:组合(composition)与继承(inheritance)

14.1 组合语法

访问嵌入对象(子对象)的成员函数只需要再一次的成员选择。

14.2 继承语法

在类的左括号前,加一个冒号和基类的名字,对于多个基类,用逗号分开。

14.3 构造函数的初始化表达式表

如果没有显示的进行伪构造函数的调用,初始化是不会执行的。

14.4 组合和继承的联合

只有通过继承才能重现定义它的函数。而对于成员对象,只能操作这个对象的公共接口,而不能重新定义它。

构造是从类层次的最根处开始,而在每一层,首先会调用基类构造函数,然后调用成员对象构造函数。调用析构函数则严格按照构造函数相反的次序。

14.5 名字隐藏

14.6 非自动继承的函数

构造函数和析构函数不能被继承,必须为每一个特定的派生类分别创建。

operator= 也不能被继承。

继承和静态成员函数(静态成员函数与非静态成员函数的共同点):
1. 它们均可以被继承到派生类中
2. 如果我们重新定义了一个 静态成员,所有在基类中的其他重载函数会被隐藏
3. 如果我们改变了基类中一个函数的特征,所有使用该函数名字的基类版本都将会被隐藏

14.7 组合与继承的选择

组合通常是希望新类内部具有已存在类的功能时使用,而不是希望已存在了类作为它的接口。

14.8 protected

protected:就这个类的用户而言,它是private的,但它可以被从这个类继承来的任何类使用。

14.9 运算符的重载和继承

14.10 多重继承

14.11 渐曾式开发

14.12 向上类型转换

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,898评论 18 399
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 13,143评论 1 51
  • C++文件 例:从文件income. in中读入收入直到文件结束,并将收入和税金输出到文件tax. out。 检查...
    SeanC52111阅读 7,885评论 0 3
  • 寒夜凄风花散,月影叹哀怨 星冷窗旧风透,泪染心湖皱 昔时相依看花绽,茅舍竹篱话婵娟 青梅竹马,一琴一弦和流年 怎料...
    初晨曦微阅读 1,748评论 0 2
  • 缠师已经离去多年,他期望的那5位真磨炼成钢铁战士何许人也,我是没有办法知道的了。但在我的心中有这样的5位:第一位,...
    禅中悟缠阅读 10,416评论 11 2