类的继承问题

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

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

{

  成员声明;

}

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

二.继承时的构造函数

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

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

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

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

{

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

}

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

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

{

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

};

三.继承时的析构函数

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

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

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

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

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

同名覆盖原则

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

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

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

         例:d.B::a=3

转载于:https://my.oschina.net/u/2294392/blog/425765

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值