一、基类与派生类的概念

  • 基类(父类):在继承关系中处于上层的类

  • 派生类(子类):在继承关系中处于下层的类

class A;class B;class C:public A  //C为A的子类,A为C的父类{};class D:public A,public B  //D为A和B的子类,A和B均为D的父类{};

二、类派生列表

  • 派生类通过派生类列表来指出其从哪个(哪些)基类继承而来

类派生列表的使用规则:

  • ①派生列表不能出现在类的声明时,只能在定义时,原因如下:

    • 一条声明语句的目的是让程序知晓某个名字的存在已经改名字表示一个什么样的实体(如一个类、一个函数、或一个变量等)

class A;
class B;
//class B:public A;  错误
class A{};
class B:public A{}; //正确
  • ②要继承的基类必须在本类之前定义而非声明,原因如下:

    • 派生类必须知道其从基类继承而来的成员是什么,如果基类只是一个声明,那么派生类将无从知晓

C++:13---继承(单一继承、多重继承、多级继承、菱形继承、虚继承)相关推荐

  1. 多重继承、虚继承与虚基类

    一.多重继承 单重继承--一个派生类最多只能有一个基类 多重继承--一个派生类可以有多个基类 class 类名: 继承方式 基类1,继承方式 基类2,-. {-.}; 派生类同时继承多个基类的成员,更 ...

  2. C++基础学习-26继承的构造函数、多重继承、虚继承

    目录 继承的构造函数 多重继承 1.多重继承的概念 2.静态成员变量 3.派生类构造函数与析构函数 4.从多个父类继承构造函数 类型转换 虚基类.虚继承(虚派生) 总结 继承的构造函数 C++语言同时 ...

  3. 多重继承与虚继承编程实验

    多重继承与虚继承编程实验 基本知识 多重继承 多重继承下的类作用域 虚继承 构造函数与虚继承 关于本程序 示例代码 Animal_virtual_baseVers.h virt-inherit.cpp ...

  4. c++远征之继承篇——多重继承,多继承,虚继承,多继承时的重复定义解决方法

    以下内容源于慕课网的学习整理,如有侵权,请告知删除. 1.多重继承 (1)概念理解 2.多继承 (1)概念理解 3.虚继承 (1)问题的引出:多重继承和多继承的结合,造成数据的冗余.     (2)解 ...

  5. Th3.15:继承的构造函数、多重继承、虚继承之详述

     本博客将记录:新经典课程知识点的第15节的笔记! 本小节的知识点分别是继承的构造函数.多重继承.虚继承. 今天总结的知识分为以下5个点: (1)继承的构造函数 (2)多重继承     (2.1)多重 ...

  6. C++继承详解三 ----菱形继承、虚继承

    转载:http://blog.csdn.net/pg_dog/article/details/70175488 今天呢,我们来讲讲菱形继承与虚继承.这两者的讲解是分不开的,要想深入了解菱形继承,你是绕 ...

  7. C++之虚函数与虚继承详解

    虚继承和虚函数是完全无相关的两个概念. 虚继承是解决C++多重继承问题的一种手段,从不同途径继承来的同一基类,会在子类中存在多份拷贝.这将存在两个问题: 其一,浪费存储空间: 第二,存在二义性问题,通 ...

  8. 钻石问题(菱形继承问题) 和虚继承

    在C++中,什么叫做钻石问题(也可以叫菱形继承问题),怎么避免它? 下面的图表可以用来解释钻石问题. 假设我们有类B和类C,它们都继承了相同的类A.另外我们还有类D,类D通过多重继承机制继承了类B和类 ...

  9. C++虚继承和虚基类详解(二)

    虚继承(Virtual Inheritance) 为了解决多继承时的命名冲突和冗余数据问题,C++ 提出了虚继承,使得在派生类中只保留一份间接基类的成员. 在继承方式前面加上 virtual 关键字就 ...

  10. 内存首地址为1000h_C++虚继承,菱形继承,内存分布

    前言 在叙述C++虚继承之前,我先给大家抛出一个问题.例如现在有4个类,分别是class A, class B, class C, class D.它们的关系如下图. 如上如所示,class B和cl ...

最新文章

  1. 苹果xsmax怎么开机_苹果XSMAX进水不开机维修
  2. 24有几种封装尺寸_Y6T16 光模块尺寸演进
  3. 汇编语言(二十一)之数值交换与自增
  4. node.js 初体验
  5. 网页常用动态效果--悬浮广告
  6. 我的移动混合开发之旅
  7. Spark Streaming 技术看点!
  8. python数组取数_python 取数组
  9. Python学习day07 - Python进阶(1) 内置方法
  10. 机器学习-极大似然估计
  11. python3 中的Json序列化、反序列化 和 字符编码的问题解决
  12. 实用小工具-动软代码生成器
  13. dubbo服务者源码分期
  14. 使用FusionChartsFree整合项目
  15. java saxreader 字符串_Java SAXReader.read方法代碼示例
  16. VS2013下载及安装
  17. 利用gretna计算小世界网络属性等图论指标笔记
  18. 关于最新社区版idea启动项目前端404 后端报错 isInvalidPath - Path with “WEB-INF“ or “META-INF“: [WEB-INF/page/fore/home
  19. 四维空间的二维线框投影可视化(附matlab代码)
  20. 单片机驱动SD3077时钟芯片

热门文章

  1. python json.dumps慢_python json.dumps中文乱码问题解决
  2. mysql group by 慢_mysql“group by”查询非常慢
  3. python安装后cmd找不到_关于Python3.6环境中,virtualenv找不到命令的解决方法
  4. excel 2007 vba与宏完全剖析_Excel怎么保护自己的劳动成果?强制用户启用宏,再加上这一步...
  5. 大数据翻页_大数据量下的分页解决方法
  6. 【转】使用PowerApps快速构建基于主题的轻业务应用 —— 进阶篇
  7. Sharepoint学习笔记—Site Definition系列-- 3、创建ListDefinition
  8. ubuntu设置始终亮屏_ubuntu设置关闭屏幕和锁定
  9. 【Python 标准库学习】数据科学计算库 — math
  10. 工作篇-佛山三水恒大-2020.11.13