c++远征之继承篇——隐藏,isa,虚析构函数

一、隐藏

  • 父子关系。
  • 成员(数据成员或者成员函数)同名;
  • 此时子类中会隐藏父类中的同名成员。
  • 无法函数重载,只会隐藏!
  • 如果想访问父类中的同名成员,需要 :: 操作。



  • 访问父类同名函数的方法




二、is-a

(1)概念的理解

  • 工人也是人,士兵也是人,隐形眼镜也是眼镜。
  • 即派生类的对象,也是基类的对象。



(2)从存储角度理解

  • 只能取部分内容赋值给父类,或者父类指针只能指向子类的部分内容。







三、虚析构函数

  • 在父类和子类的析构函数前,添加关键字virtual,即可构成虚析构函数。

(1)虚析构函数的意义

int main(void)
{person* p=&soldier;//……delete p;
/*此时如果person类的析构函数,只是普通的析构函数,则只会调用person类的析构函数,而不会调用soldier类的析构函数
*这样会造成内存泄漏,因为person类的析构函数,只是释放了部分的内存资源。
*解决方法是,在person类的析构函数前,添加关键字virtual,表示这是虚析构函数。则delet p时,会调用person类和soldier类的析构函数。
*/return 0;}



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

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

相关文章

表单元素对齐问题解决方案

之前一直困扰自己的一个问题就是表单内radio、select等的对齐问题,一直以来,都是给提示添加label,然后跟radio等一起浮动,然后再设置margin解决的,但是这样又得另外解决IE6下的双边距问题,搞得自己相当恼。…

centos7配置Docker镜像加速器

创建并编辑文件 [rootlocalhost ~]# cd /etc/docker/ [rootlocalhost docker]# [rootlocalhost docker]# ls key.json [rootlocalhost docker]# # vi daemon.json [rootlocalhost docker]# pwd /etc/docker [rootlocalhost docker]# [rootlocalhost docker]# cat daemon.json {…

岳阳楼记

庆历四年春,滕子京谪守巴陵郡。越明年,政通人和,百废具兴,乃重修岳阳楼,增其旧制,刻唐贤今人诗赋于其上,属(音:嘱)予作文以记之。 予观夫巴陵胜状&#xff0c…

(转)动态Entity Framework查询:Dynamic Query 介绍

原文地址:http://www.cnblogs.com/yinzixin/archive/2012/11/30/entity-framework-dynamic-query.html Dynamic Query是一个支持动态Entity Framework查询的库。它的设计初衷是为了减少在管理系统中大量出现的对一个数据集进行查找、排序、分页的这类场景的开发工作…

docker配置容器运行jar包

拉取jdk镜像文件 # docker pull huanwei/alpine-oraclejdk8 创建文件夹编写Dockerfile文件 # mkdir docker # vi Dockerfile FROM docker.io/huanwei/alpine-oraclejdk8 MAINTAINER djl "djlcnbisoft.com" ENV REGISTRY_SERVER_USERNAME test ENV REGISTRY_SERVER_PA…

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

以下内容源于慕课网的学习整理,如有侵权,请告知删除。 1、多重继承 (1)概念理解 2、多继承 (1)概念理解 3、虚继承 (1)问题的引出:多重继承和多继承的结合&#xff0c…

从Pycharm说起

说实话.作为一个Coder.每天在各种IDE中切换编写Code.如果一个IDE Look and Feel总是无形中影响你每天Code Farm的心情.那该是多么不爽的事情.特别是针对本人对IDE总是有一种天生“洁癖感”.每当一们语言或技术在无意中吸引我.或是已经在粗糙的本文编辑器初体验.都会在两到三天体…

JAVA开发工具下载

一、eclipse下载 下载地址:http://www.eclipse.org/downloads/packages/ 点击下载 弹出下载框 压缩包解压后就可以使用 转载于:https://www.cnblogs.com/djlsunshine/p/11373287.html

c++远征之多态篇——虚函数及其实现原理

以下内容源于慕课网的学习整理,如有侵权,请告知删除。 1、多态的定义 简单理解,就是对于同一条命令,不同对象会做出不同的操作。相同对象收到不同消息,或者不同对象收到相同消息时,产生不同的动作。 2、多态…

开发过程中版本控制

宏观角度看软件版本控制版本控制的核心是这样一个简单的概念,即对一个或者多个文件的追踪过程,随着这些文件演变成一个或多个产品的过程。特别是版本控制追踪什么变化,是什么改变了它,为什么会这样。版本控制系统提供了一个有益的…

WPF窗体最小化到任务栏

WPF程序也可以很轻松的实现类似QQ那样最小化到任务栏的功能。 WindowState ws;WindowState wsl;NotifyIcon notifyIcon;#region Constructionspublic MainWindow(){InitializeComponent();//显示托盘。icon();//保证窗体显示在上方。wsl WindowState;}#endregionprivate void …

c++远征之多态篇——纯虚函数和抽象类、接口类

以下内容源于慕课网的学习整理,如有侵权,请告知删除。 1、纯虚函数 没有函数体;0;即只有函数声明,而没有函数定义的虚函数,是纯虚函数。 2、抽象类 概念:含有纯虚函数的类,叫抽象类…

W3 Total Cache+Hacklog Remote Attachment Upyun

2019独角兽企业重金招聘Python工程师标准>>> Hacklog Remote Attachment Upyun 是「荒野无灯」开发的WP插件,可以很方便的配合又拍云使用。通过这个插件,可以在添加媒体的时候上传至又拍云,对速度有极大的提升。 另外,…

Full Tank?

Full Tank? 最短路转载于:https://www.cnblogs.com/zhang1107/archive/2012/12/06/2806344.html

VS2013崩溃,无法打开项目的解决方案

最近遇到VS2013,在打开解决方案时,报如下错误: “未找到与约束 ContractName Microsoft.Internal.VisualStudio.PlatformUI.ISolutionAttachedCollectionServiceRequiredTypeIdentity Microsoft.Internal.VisualStudio.PlatformUI.ISolutionA…

c++远征之多态篇——运行时类型识别(RTTI)

以下内容源于慕课网的学习整理,如有侵权,请告知删除。 1、RTTI(Run-Time Type Information),运行时类型识别。 涉及typeid、dynamic_cast这两个知识点。RTTI技术可以通过父类指针,识别其所指向对象的真实数…

用c#写的一个局域网聊天客户端 类似小飞鸽

最后在公司实习,新人不给活干,就自己随便看看,了解一些DevExpress控件啊,编码规范啊之类的,自己就寻思着写一点点小东西练习练习 出于自己对c# socket这块不熟,就选择了这块,顺便可以进一步了解…

c++远征之多态篇——异常处理

以下内容源于慕课网的学习整理,如有侵权,请告知删除。 1、关于异常的一些概念 异常:程序运行期出现的错误。 数组下标越界;除数为0;内存不足;…… 异常处理:对有可能发生异常的地方做出预见性的…

win10查看端口占用

win10查看端口占用 1、CMD命令 netstat -ano|findstr 8080 查看8080端口占用的程序的PID 2、任务管理器管理,点击"详细信息";根据PID查看相应的程序。 posted on 2019-08-21 09:54 凉云 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnb…