本章内容:

   is-a 关系的继承;

   如何以公有方式从一个类派生出另一个类;

   保护访问;

   构造函数成员初始化列表;

   向上和向下强制转换;

   虚成员函数;

   早期(静态)联编与晚期(动态)联编;

   抽象基类;

   纯虚函数;

   何时及如何使用公有继承

类库由类声明和实现构成的。通常,类库是以源代码的方式提供的。

C++提供了比修改代码更好的方法来扩展和修改类。这种方法叫做类继承,它能够从已有的类派生出新的类,而派生类继承了原有类(称为基类)的特征,包括方法。通过继承派生出的类通常比设计新类要容易。下面是可以通过继承完成的一些工作:

可以在已有类的基础上添加功能;

可以给类添加数据;

可以修改类方法的行为;

面向对象编程的主要目的之一是提供可重用的代码;

   C++类提供了更高层次的重用性,类库由类声明和实现构成,因为类组合了数据表示和类方法;

   C++提供了比修改代码更好的方法来扩展和修改类——类继承;

13.1 一个简单的基类

从一个类派生出另一个类时,原始类称为基类,继承类称为派生类。下面首先建立一个基类:

// tabtenn0.h -- a table-tennis base class#ifndef TABTENN0_H_#define TABTENN0_H_#include using std::string;// simple base classclass TableTennisPlayer{private: string firstname; string lastname; bool hasTable;public: TableTennisPlayer (const string & fn = "none

基类的构造函数也可以被继承_「C++ Primer plus 心得」13.类继承相关推荐

  1. static在内存层面的作用_「C++ Primer plus 心得」9.内存模型和名称空间

    本章内容包括: 单独编译 存储持续性.作用域和链接性 定位new运算符 名称空间 C++ 为在内存中存储数据方面提供了多种选择.可以厅数据保留在内存中的时间长度(存储持续性)以及程序的哪一部分可以访问 ...

  2. define定义的函数如何引用_「C与指针心得」25.预处理器-宏函数

    感谢您的阅读与点赞!欢迎关注:「大猫玩程序」,查看C语言系列文章 上一节讲了一些系统的预定义宏,这一节来讲一讲 宏定义.宏函数. 预处理常量 define: 预处理器指令从#开始,到最后第一个换行符为 ...

  3. python类的静态属性和静态方法_详解Python中的静态方法与类成员方法

    前言 因为Python的水平目前一直是处于能用阶段,平时写的脚本使用的Python的写法也比较的简单,没有写过稍微大一点的项目.对Python中的类,类之间的组织关系,整个项目中类之间如何耦合还缺乏认 ...

  4. 不应该通过类实例访问静态成员 解决方法_今天说一说php中的类与对象

    网上的文章博客这种东西已经写烂了. 我只是写写自己理解.... 首先都知道php的面向对象,什么封装,集成,多态,灵活,简单,代码简洁,重用行强,利于维护,什么什么三个方向:灵活性,重用行,扩展性. ...

  5. list排序_「肘后备急码」- C#对象List排序

    经常遇到要对一个对象List排序的要求,我觉得以下是最方便的方法. 核心代码 主要是实现System.Collections.IComparer这个接口 完整示例 备注 里面Person我用的是str ...

  6. 热成像成像不清楚是什么时候_「从零搞机」热成像仪查看 分形工艺Node 202 机箱 风道散热情况...

    分形工艺的Node 202是我非常喜欢的一个机箱,是现如今搞机圈一众肥宅A4机箱里为数不多的瘦高个. 分形工艺Fractal Design Node 202 为什么喜欢它? 好看,耐看 分形工艺的设计 ...

  7. ideahtml标签不提示_「系统自带标签」如何帮门店区分价值顾客?| 早8点141期

    141 期 | 系统标签 · 本文约 603 字,预计阅读 3 分钟 · 大家好,我是小檬,这是乐檬早八点为乐檬用户提供的产品应用学习栏目第 141 期. 今天的主题是:[新·会员篇]「系统自带标签」 ...

  8. python seo编程_「SEO及应用编程」开课!

    一.「SEO及应用编程」课程大纲,请见: SEO应用编程大纲​www.edrawsoft.cn 二.授课内容简介 两个模块:「SEO套路」和「SEO应用编程」 「SEO套路」模块,分 "域名 ...

  9. 线程中这么调用类_「手撕面试官」谈谈你对JDK中Executor的理解?

    欢迎关注头条号:Java小野猫 前言 随着当今处理器计算能力愈发强大,可用的核心数量越来越多,各个应用对其实现更高吞吐量的需求的不断增长,多线程 API 变得非常流行.在此背景下,Java自JDK1. ...

最新文章

  1. “程序员数学不行,干啥都不行!”高级开发:90%都是瞎努力!
  2. qt中对任务繁忙时QProgressDialog的使用
  3. js去掉最右边的逗号
  4. 详细学习ORACLE JOBS
  5. 百练4103:踩方格
  6. 微软官方宣布:Edge 浏览器将采用 Chromium 内核
  7. mysql外键引用语法_mysql – 外键语法
  8. RTOS原理与实现02:基本任务切换实现
  9. 两条信号之间加电容_电容是什么?怎么用?怎么买?
  10. 论软件定义GPU对AI数据中心优化的必要性
  11. [翻译]XNA外文博客文章精选之sixteen(下)
  12. openstack连通性检查显示验证失败_从超大规模部署到一体机,浪潮云海引领OpenStack落地新范式...
  13. 如何给证件照换底色;如何调整证件照大小
  14. 关于《Python绝技:运用Python成为顶级黑客》的学习笔记
  15. ipad使用计算机的图片大全,三种方式备份 iPad 照片
  16. 202203读书-《 测试有道:微软测试技术心得》
  17. js字符串转换成数字
  18. html首页问候语,每日一条问候语
  19. html语音聊天室,h5聊天室模板|仿微信聊天室html5
  20. 测试sony电视屏的软件,Mirror for Sony TV 3.6.2 for Mac 索尼电视屏幕镜像工具

热门文章

  1. 【通俗讲解】BP神经网络
  2. 【已解决】Linux redhat 6.4上安装VNC Server
  3. MySQL入门篇(含数据库的备份)
  4. python k线合成_手把手教你写一个Python版的K线合成函数
  5. AQS(CountdownLatch、CyclicBarrier、Semaphore)、FutureTask、BlockingQueue、ForkJoin
  6. HTML5中CLASS选择器,html5 class选择器
  7. active server pages 错误 asp 0126_最终选型 Blazor.Server:又快又稳!
  8. echart饼图标签重叠_Echarts 解决饼图文字过长重叠的问题
  9. python 英语词频统计软件_Python数据挖掘——文本分析
  10. iservice封装有哪些方法_请问这段Java代码能不能封装成一个方法