文档章节

类的继承问题

世__界
 世__界
发布于 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
驻马店
私信 提问
Python的super解释

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

shawnplaying
2016/08/10
16
0
Javascript 中继承汇总

前言 在阅读《Javascript高级程序设计》后的一些感想,顺便记录自己的学习,也希望能帮助到人,这就是我的初衷了。如文中有任何问题,也希望大家指正,以免误人子弟。 关于js的继承,我感觉更...

hot_pot_Leo
04/30
0
0
C++继承和组合——带你读懂接口和mixin,实现多功能自由组合

摘要:本文详细介绍了C++继承的三种方式和相关重要概念,整理了众多继承与组合中的注意问题。在C++继承存在不安全的默认实现,非虚函数的覆盖,多重继承的函数名冲突、菱形继承等众多问题下,...

聒小小噪
2018/04/19
0
0
我认为C++多重继承的正确用法是这样的

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

pollex
2014/05/27
459
4
JavaScript 的继承方式及优缺点

前言 JavaScript 原本不是纯粹的 “OOP” 语言,因为在 ES5 规范中没有类的概念,在 ES6 中才正式加入了 的编程方式,在 ES6 之前,也都是使用面向对象的编程方式,当然是 JavaScript 独有的...

PandaShen
2018/07/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

webGL和three.js的关系

本文转载于:专业的前端网站➤webGL和three.js的关系 如今浏览器的功能越来越强大,而且这些功能可能通过JavaScript直接调用。你可以用HTML5标签轻松地添加音频和视频,而且可以在HTML5画布上...

前端老手
30分钟前
5
0
Spring如何实现AOP,请不要再说cglib了!

1. 从注解入手找到对应核心类 最近工作中我都是基于注解实现AOP功能,常用的开启AOP的注解是@EnableAspectJAutoProxy,我们就从它入手。 上面的动图的流程的步骤就是: @EnableAspectJAutoPr...

温安适
32分钟前
31
0
Mybatis之ParameterHandler

mybatis-3.4.6.release. ParementerHandler是个接口,如下List-1 List-1 public interface ParameterHandler { Object getParameterObject(); void setParameters(PreparedStateme......

克虏伯
46分钟前
6
0
Spark sql的批处理物理计划BatchScanExec

BatchScanExec是batch类的物理计划,对应的逻辑计划是DataSourceV2Relation,是Datasource。 它的入参是Scan类,Scan类有两个重要方法,一个获取分区列表信息;另一个方法获取读取器工厂。 ...

守望者之父
50分钟前
10
0
for循环与while循环

循环结构三要素 a. 初始值 b. 循环条件 c. 改变条件 for循环 声明格式 for(表达式1;表达式2;表达式3){ 循环体语句 } 表达式1:用来循环的变量初始值。(开始值) 表达式2:用来判断循环的条件。...

Lenat
56分钟前
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部