C++期末复习总结继承

继承是软件复用的一种形式,他是在现有类的基础上建立新类,新类继承了现有类的属性和方法,并且还拥有了其特有的属性和方法,继承的过程称为派生,新建的类称为派生类(子类),原有的成为基类(父类)

  • 继承的种类

单一继承,继承自一个父类

多个继承,继承自多个父类

不允许继承循环

不允许继承私有成员

继承的声明

派生方式关键词 private、public和protected,规定了派生类成员和类外对象访问基类的权限

如果没有写继承方式,默认为private

派生类的生成过程:吸收基类成员(除去私有、构造函数、析构函数)、改造基类成员(同名覆盖)、添加新成员

公有继承:

public,成员访问权限不变,基类的private成员不可被派生访问,只能通过基类的公有和保护成员函数间接访问,基类的protected成员可以直接被派生类访问,但派生类外只能通过派生类的共有或保护成员函数、基类的成员函数访问

私有继承:

基类的公有成员和保护成员,都将以私有被派生类继承,私有在基类中不可直接访问,必须通过基类的公有函数访问,基类的保护和公有只能在派生类内使用

保护继承:

基类的保护和公有成员在派生类中都讲作为保护成员,只能被派生类的成员函数和友元函数访问,基类的私有成员,只能派生类中通过基类的公有和保护成员间接访问

派生类的构造函数与析构函数:

派生类构造函数执行如下:

按照基类的声明顺序调用基类的构造函数,与派生类的初始化列表顺序无关

按照派生类的成员声明顺序,初始化新增成员对象

执行派生类的构造函数题中的内容

派生类的析构顺序:

首先调用派生类的析构函数(清理派生类的新增成员)

如果派生类有成员对象,调用派生类成员对象所在类的析构函数

在调用普通基类的构造函数

最后调用虚基类的构造函数

多继承的二义性问题:

成员限定符解决:对象.父类::变量

成员重定义:在派生类中新增与基类名称相同的成员

虚基类virtual 要虚化的基类的名字

虚基类的性质:

虚基类使得公共基类得派生中只有一个拷贝,改变基类得变量所有子类得到得变量值也改变

虚基类得派生类必须初始化列表给出初始化,若为列出会调用缺省构造函数,所以虚基类必须要有缺省构造函数.

虚基类得初始化是有最远派生类调用其构造函数,若未给出就调用虚基类的缺省构造

若虚基类没有缺省构造,哪每一个派生类得初始化列表都必须对虚基类进行初始化调用

虚基类注意点:

初始化列表中同时出现虚基类和非基类得构造函数调用,虚基类得构造函数优先于非虚基类

虚基类比普通类的运行效率要低

虚基类的最远派生类对其进行初始化

派生类得对象可以赋值给基类得对象

派生类对象可以初始化基类得引用

派生类得对象地址可以赋值给基类得指针

赋值后,派生类对象就可以作为基类的对象使用,但只能使用基类继承的成员

若基是虚函数 则会被重写为派生类的成员

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/401768.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯历年预赛习题

标题:啤酒和饮料 啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。 我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。 注意:答案是一个整数。请通过浏览器提交答案。 不要书…

产品经理,你来自江湖

2019独角兽企业重金招聘Python工程师标准>>> 产品经理,你来自江湖 ----论产品经理的发展中的技能与技能图书 导读: 过去的15年中,在互联网行业,我认为没有一个职位比产品经理对行业的推动更大,这些年里&…

小谈深度优先搜索

最近读了一本算法书,书中提到了深度优先算法,于是我就整理了一下。 引入小题: 解决方案:这里先使用最简单最常用的穷举法时行求解。(此代码中的book数组起到了标记的作用,可以参考桶装法排序了解标记的好处…

vim学习(2)小幅提升

2019独角兽企业重金招聘Python工程师标准>>> 搜索: 忽略大小写: :set ignorecase :set noignorecase 在文本中查找下一个WORD: 把光标定位于这个word上,然后按下"*"键 /word "#"命令是&qu…

NetCore NW714 v2.0路由器TTL救砖

路由器成砖状态: 1.客户端无法获取IP地址 2.客户端设置IP地址后,无法PING通路由器IP地址。 3.路由器按reset按钮,无法重置路由器。 4.路由器的指示灯只有SYS和WPS亮,WPS微亮。 5.在路由器的LAN口和WLAN口插入网线,相应…

斐讯k1路由器刷Breed BootLoader(不死UBoot)

前段时间斐讯搞活动,我入手了一部139元的斐讯K1路由器,感觉硬件配置不错,于是就给K1路由器刷入了Breed启动程序。 路由器外观: 路由器内观: 硬件配置: CPU:MediaTek MT7620A ver 2,eco 6 内存…

html中滚动栏的样式

DIV滚动栏设置 &#xff08;CSS&#xff09;2008/09/26 03:07div 中滚动栏的控制2008年01月06日 星期日 01:181)隐藏滚动栏<body style"overflow-x:hidden;overflow-y:hidden">(2)怎样在单元格或图层中出现滚动栏<div style"width:200px;height:200px;…

Openwrt虚拟WAN口叠加网速

Openwrt路由器系统功能强大&#xff0c;接下来我就要用这个系统叠加网速了。 网络环境 我这边用的网络是学校办公室的&#xff0c;听到学校办公室的网&#xff0c;大家应该会认为网速很快&#xff0c;但是我这个学校在交换机上把每个IP的最大速率限制在了1MB/S&#xff0c;实在…

【Go语言】面向对象扩展——接口

简单地说 Interface是一组Method的组合&#xff0c;可以通过Interface来定义对象的一组行为。如果某个对象实现了某个接口的所有方法&#xff0c;就表示它实现了该借口&#xff0c;无需显式地在该类型上添加接口说明。 Interface是一个方法的集合&#xff0c;它里面没有其他类型…

PHPCMS代码生成器

软件截图 软件说明 软件名称&#xff1a;PHPCMS代码生成器 版本&#xff1a;v1.0 开发语言&#xff1a;易语言 软件说明&#xff1a;此软件是用于对PHPCMS模板进行编辑制作的高效代码生成器&#xff0c;大部分的操作代码在此软件内都可实现&#xff0c;欢迎使用。 火眼检测报告…

18款 非常实用 jquery幻灯片图片切换

1、jquery图片滚动仿QQ商城带左右按钮控制焦点图片切换滚动 jquery图片特效制作仿腾讯QQ商城首页banner焦点图片轮播切换效果&#xff0c;带索引按钮控制和左右按钮控制图片切换。 查看演示>> 下载地址 2、jquery图片切换插件制作图片层叠缩放展示效果 jquery图…

全国电视直播v1.0

软件截图 软件说明 软件名称&#xff1a;电视直播 版本&#xff1a;v1.0 开发语言&#xff1a;易语言 软件说明&#xff1a;此软件可以观看几乎全国各地的电视台&#xff0c;无如播放不流畅&#xff0c;可以切换左侧的播放源&#xff0c;欢迎使用。 下载地址&#xff1a;http…

iOS UIModalPresentationFormSheet风格下的键盘隐藏

1. 在UIModalPresentationFormSheet&#xff08;iPad device, without a UINavigationController&#xff09;下的视图中&#xff0c;如果使用 [inputView resignFirstResponder]; 是不能把Keyboard收起的&#xff0c;需要使用以下的方式&#xff1a; A&#xff1a; try { Clas…

迅雷会员帐号获取器

软件截图 软件说明 软件名称&#xff1a;迅雷会员获取器 版本&#xff1a;v1.0 开发语言&#xff1a;易语言 软件说明&#xff1a;此在左上角的下拉列表框中选择来源&#xff0c;单击“获取帐号”即可在下方的列表中出现迅雷会员的账号和密码&#xff0c;如果获取失败&#x…

HTML代码转换编辑器

软件截图 软件说明 软件名称&#xff1a;HTML代码转换编辑器 版本&#xff1a;v1.0 开发语言&#xff1a;C# .Net framework3.5 下载地址&#xff1a;http://download.csdn.net/detail/lecepin/9417174 博客名称&#xff1a;王乐平博客 博客地址&#xff1a;http://blog.le…

系统时间校准工具

软件截图 软件说明 软件名称&#xff1a;系统时间校准 版本&#xff1a;v1.0 开发语言&#xff1a;易语言 软件说明&#xff1a;方便电脑系统时间不正确&#xff0c;每次启动时间都重置等时间不正确的情况&#xff0c;提供时间校准的方便。校准时间均为世界标准时间同步网络…

localtime 和 localtime_r

---恢复内容开始--- 上程序&#xff1a; [c-sharp] view plaincopyprint?#include <cstdlib> #include <iostream> #include <time.h> #include <stdio.h> using namespace std; int main(int argc, char *argv[]) { time_t tNow tim…

系统关机助手

软件截图 软件说明 软件名称&#xff1a;系统关机助手 版本&#xff1a;v1.0 开发语言&#xff1a;易语言 软件说明&#xff1a;方便关机、重启、注销等操作的小软件&#xff0c;欢迎使用。 下载地址&#xff1a;http://download.csdn.net/detail/lecepin/9418082 博客名称&a…

poj1703

题目大意&#xff1a;一共有两个类&#xff0c;两种操作D X Y表示X Y在不同的类里面&#xff0c;A X Y 询问X Y之间的关系(未知&#xff0c;相同&#xff0c;不同) 分析&#xff1a;简单带权并查集&#xff0c;D[i]表示与i对立的类&#xff0c;维护好这个变量就可以了。 1 #inc…

SEO原创文章制作器

软件截图 软件说明 软件名称&#xff1a;SEO原创文章制作器 版本&#xff1a;v1.0 开发语言&#xff1a;易语言 软件说明&#xff1a;SEO福利工具&#xff0c;可直接从网上将内容复制到本软件&#xff0c;然后生成文字不一样但意思一样的原创文本。 此软件可以设置原创级别。…