文档章节

类的继承问题

世__界
 世__界
发布于 2015/06/06 17:55
字数 477
阅读 6
收藏 0

一.多继承时派生类的声明

class 派生类名:继承方式1 基类名1,继承方式2  基类名2, ...........

{

  成员声明;

}

注意:每一个“继承方式”,只用于限制对紧随其后之基类的继承。

二.继承时的构造函数

  1. 基类的构造函数不被继承,需要在派生类中自行声明。

  2. 声明构造函数时,只需要对本类中新增成员进行初始化,对继承来的基类成员的初始化由基类完成(调用基类的成员函数)。

一.单一继承时的构造函数

派生类名::派生类名(基类所需的形参,本类成员所需的形参):基类名(参数)

{

  本类成员初始化赋值语句;

}

二.多继承且有内嵌对象的构造函数

派生类名::派生类名(基类1形参,基类2形参,.....基类n形参,本类形参):基类名1(参数),基类名2(参数),.......基类名n(参数),对象数据成员的初始化

{

   本类成员初始化赋值语句;

};

三.继承时的析构函数

  1. 析构函数也不被继承,派生类自行声明。

  2. 声明方法与一般(无继承关系时)类的析构函数相同。

  3. 不需要显式地调用基类的析构函数,系统会自动隐式调用。

  4. 析构函数的调用次序与构造函数相反。

四.派生类成员的标识与访问

同名覆盖原则

当派生类与基类中有相同成员时:

    1.若未强行指名,则通过派生类对象使用的是派生类中的同名成员。

    2.如果通过派生类对象访问基类中被覆盖的同名成员,应使用基类名限定

         例:d.B::a=3

© 著作权归作者所有

共有 人打赏支持
世__界
粉丝 1
博文 24
码字总数 6923
作品 0
驻马店
Effective-java 3 中文翻译系列 (Item 18)

看了Effective-java2的中文翻译版之后...就打算自己翻译一下第3版。会将翻译的文章上传到 github (欢迎关注,欢迎大神提点。) ITEM 18 重组合,轻继承 继承是实现代码重用的有效方法,但是...

薛银亮
06/11
0
0
C++ — 面向对象之继承的详细讲解

继承 继承是面向对象复用的重要手段。通过继承定义一个类,继承是类型之间的关系建模,共享公有的东西,实现各自本质不同 的东西。下面是一个最简单的继承关系: 继承是一种复用手段,在继承...

Dawn_sf
2017/03/29
0
0
Python的super解释

在子类中初始化父类, 传统的方式是在子类中直接调用父类的函数: 在继承体系很简单的情况下, 这种方式可以正常运行, 但是在大多数情况下这种方法都是不可行的. 如果一个类继承自多个类, 那么直...

shawnplaying
2016/08/10
8
0
我认为C++多重继承的正确用法是这样的

我认为C++多重继承的唯一正确用法,就是在类的层次上聚合一些毫不相干的东西 比如一个ErrorInfo类,提供printerror和getlasterror,那么任何类都可以毫无问题的继承ErrorInfo类来获得基本的错...

pollex
2014/05/27
362
4
《javascript高级程序设计》学习记录(四)

js继承,对这一块原本想自己记录一下,但是发现有一个仁兄的博客记录得比我更好,然后就直接借鉴过来了 由于不像那样是真正面向对象的语言,是基于对象的,它没有类的概念。所以,要想实现继...

sunshinewyf
2015/11/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

WinDbg

参考来自:http://www.cnit.net.cn/?id=225 SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols ctrl + d to open dump_file Microsoft (R) Windows Debugger Version 6.12.0002.633......

xueyuse0012
今天
2
0
OSChina 周五乱弹 —— 想不想把92年的萝莉退货

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @罗马的王:分享松澤由美的单曲《地球ぎ》 很久没看圣斗士星矢了 《地球ぎ》- 松澤由美 手机党少年们想听歌,请使劲儿戳(这里) @开源中国首...

小小编辑
今天
14
1
springBoot条件配置

本篇介绍下,如何通过springboot的条件配置,控制Bean的创建 介绍下开发环境 JDK版本1.8 springboot版本是1.5.2 开发工具为 intellij idea(2018.2) 开发环境为 15款MacBook Pro 前言 很多时候,...

贺小五
今天
1
0
javascript source map 的使用

之前发现VS.NET会为压缩的js文添加一个与文件名同名的.map文件,一直没有搞懂他是用来做什么的,直接删除掉运行时浏览器又会报错,后来google了一直才真正搞懂了这个小小的map文件背后的巨大...

粒子数反转
昨天
1
0
谈谈如何学Linux和它在如今社会的影响

昨天,还在农耕脑力社会,今天已经人工智能技术、大数据、信息技术的科技社会了,高速开展并迅速浸透到当今科技社会的各个方面,Linux日益成为人们信息时代的到来,更加考验我们对信息的处理程...

linux-tao
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部