当前位置: 首页 > news >正文

C++核心编程和桌面应用开发 第八天(继承)

目录

1.继承

1.1继承语法

1.2继承方式

1.3继承中的对象模型

1.4继承中的构造和析构

1.5继承中的同名成员处理

1.5.1同名属性处理

1.5.2同名成员函数处理

1.6继承中的同名静态成员处理

1.6.1同名静态成员属性处理

1.6.2同名静态成员函数处理

1.7多继承


1.继承

1.1继承语法

class 子类:继承方式 父类

总结:

  • 派生类可以使用基类的属性和方法;
  • 派生类包含从基类继承的成员和自己增加的成员。

1.2继承方式

  • 公共继承 public
  • 私有继承 private
  • 保护继承 protected

1.3继承中的对象模型

子类对象的大小:父类中非静态成员属性+子类非静态成员属性

1.4继承中的构造和析构

若子类中存在其他类对象作为子类成员,则其他类会先构造,再构造子类对象

构造函数:父类构造——其他类对象构造——子类构造

析构函数:子类析构——其他类对象析构——父类析构

子类不会继承的内容:

  • 默认构造
  • 析构函数
  • 拷贝构造
  • operator=

1.5继承中的同名成员处理

1.5.1同名属性处理

子类和父类中的成员同名时,直接访问,获得的是子类的,加作用域,获得的是父类的

1.5.2同名成员函数处理

与同名属性做法一致。

1.6继承中的同名静态成员处理

1.6.1同名静态成员属性处理

子类和父类中的静态成员属性同名时,子类访问自身属性可通过对象/类名访问,子类访问父类属性时,可通过对象/类名访问,但要加上父类的作用域

1.6.2同名静态成员函数处理

与同名静态成员属性做法一致。

1.7多继承

C++允许一个类继承多个类

class 子类:继承方式 父类1,继承方式 父类2...

注意事项:

多继承可能父类中会有同名成员出现,需要加作用域区分


http://www.mrgr.cn/news/45024.html

相关文章:

  • 【玩转 JS 函数式编程_009】3.1.3 JavaScript 函数式编程筑基之:将函数视为一等对象
  • 银从法律法规_03
  • [OS] EXPORT_SYMBOL()
  • 前端推荐书单
  • 【电路基础 · 4】电路的图;KCL、KVL巩固;支路电流法
  • 『网络游戏』自适应制作登录UI【01】
  • 基于开源大型lmm模型生成标签对InternVL2-1B等轻量lmm模型进行微调
  • ArcGIS中分区统计栅格值前需要进行投影吗(在投影坐标系下进行吗),为什么?
  • 基于SSM+小程序的教育培训管理系统(教育3)
  • 速盾:高防服务器是如何防御CC攻击的?
  • Robot Operating System——单个组件或节点的诊断状态
  • 2024最新 Navicat Premium 17 简体中文版安装图文详细教程
  • 万字长文详解Linux并发与竞争 - 原子操作、自旋锁、信号量、互斥体
  • 第二十二天|回溯算法| 理论基础,77. 组合(剪枝),216. 组合总和III,17. 电话号码的字母组合
  • 【C++11】可变模板参数
  • redis过期策略和内存淘汰机制
  • 基于SpringBoot“花开富贵”花园管理系统【附源码】
  • 基于SpringBoot博物馆游客预约系统【附源码】
  • vue2和vue3中的组件间通信知识点总结
  • 深入理解 JavaScript 中的表达式、运算符、语句和声明概念