文档章节

类的继承问题

世__界
 世__界
发布于 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
8
0
我认为C++多重继承的正确用法是这样的

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

pollex
2014/05/27
438
4
C++继承和组合——带你读懂接口和mixin,实现多功能自由组合

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

聒小小噪
2018/04/19
0
0
JavaScript 的继承方式及优缺点

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

PandaShen
2018/07/26
0
0
《javascript高级程序设计》学习记录(四)

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

sunshinewyf
2015/11/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

二进制相关

二进制 众所周知计算机使用的是二进制,数字的二进制是如何表示的呢? 实际就是逢二进一。比如 2 用二进制就是 10。那么根据此可以推算出 5的二进制等于 10*10+1 即为 101。 在计算机中,负数以...

NotFound403
昨天
0
0
day22:

1、写一个getinterface.sh 脚本可以接受选项[i,I],完成下面任务: 1)使用格式:getinterface.sh [-i interface | -I ip] 2)当用户使用-i选项时,显示指定网卡的IP地址;当用户使用-I选项...

芬野de博客
昨天
1
0
Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现

自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注。虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭借阿里中间件团队的背景,还是得到不少...

程序猿DD
昨天
3
0
Java并发编程:深入剖析ThreadLocal

ThreadLocal 的理解 ThreadLocal,很多地方叫线程本地变量,或线程本地存储。ThreadLocal为变量在每个线程中都创建了一个副本,每个线程可以访问自己内部的副本变量。===》解决的问题是线程间...

细节探索者
昨天
2
0
【Python3之异常处理】

一、错误和异常 1.错误 代码运行前的语法或者逻辑错误 语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) def test: ^SyntaxError: invalid...

dragon_tech
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部