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下的双边距问题,搞得自己相当恼。…

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

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

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、多态…

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

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

W3 Total Cache+Hacklog Remote Attachment Upyun

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

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;内存不足;…… 异常处理:对有可能发生异常的地方做出预见性的…

图像传感器之CMOS(2)

转:http://www.elecfans.com/application/Military_avionics/2013/0531/319531.html 提高宇航级图像传感器生产能力 日前,在能量效率方面不断创新的安森美半导体公司已同斯坦福国际研究院(SRI)和波尔航天科技公司合作,…

c++远征之模板篇——友元函数、友元类

以下内容源于慕课网的学习整理,如有侵权,请告知删除。 一、友元函数 1、分类 全局函数——》友元全局函数 成员函数——》友元成员函数 2、关键字friend 友元全局函数 如下,利用friend修饰的函数,其参数应该是本类的引用或者指…

PHP通过session判断防止表单重复提交实例

PHP通过session判断防止表单重复提交实例 PHP通过session判断防止表单重复提交实例,当用户提交表单后,为防止重复操作,通过session来判断是否为初次提交,否则让他返回到之前表单页面。 当前表单页面is_submit设为0 1 SESSION_STAR…

c++远征之模板篇——静态数据成员,静态成员函数

以下内容源于慕课网的学习整理,如有侵权,请告知删除。 1、静态数据成员 (1)不同于普通的数据成员,静态数据成员在没有实例化时,它也是存在的(即它是和类共存的); &…

c++远征之模板篇——运算符重载

以下内容源于慕课网的学习整理,如有侵权,请告知删除。 一、运算符重载的概念 给原有的运算符赋予新的功能。比如下面的截图,本来加号并不具备坐标的相加的功能,但是通过运算符重载可以实现该功能。 二、运算符重载的本质 本质是…

frp对http协议应用

前言 frp是一个开源的项目, 可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。 github地址:https://github.com/fatedier/frp 此处对http的应用做…

树形列(无限级联下拉列的曲线版本)

先上效果图: 1、列表 - 列表设置 - 创建栏,“类型”选择“托管元数据”,如下图: 2、选中“托管元数据”后,可以到下面编辑需要的树形啦: 3、编辑好,确定,搞定;可以到列表…

c++远征之模板篇——函数模板、类模板

以下内容源于慕课网的学习整理,如有侵权,请告知删除。 函数模板(vs模板函数) 1、为什么需要模板? 函数体相同,只是类型不一样而已。那么能否把数据的类型当做参数传递呢?肯定是可以的&#xff0…