类的继承和派生

单继承

class 派生类名:继承方式 基类

{

  成员声明;

}

 

多继承

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

{

  成员声明;

}

 

公有继承

基类的public和protected成员的访问属性在派生类忠保持不变,基类的private成员不可访问。

派生类中的成员函数可以直接访问基类忠的public和protected成员,但不能访问基类的private成员。

通过派生类的对象只能访问基类的public成员。

 

私有继承

基类的public和protected成员都以private身份出现在派生类中,但基类的private成员不可访问。

派生类中的成员函数可以直接访问基类忠的public和protected成员,但不能访问基类的private成员。

通过派生类的对象不能访问基类中的任何成员。

 

保护继承

基类的public和protected成员都以protected身份出现在派生类中,但基类的private成员不可访问。

派生类中的成员函数可以直接访问基类忠的public和protected成员,但不能访问基类的private成员。 

通过派生类的对象不能访问基类中的任何成员。

 

protected 成员特点:

在建立其所在类对象的模块来说,它与private成员的性质相同。

对其派生类来说,它与public成员的性质相同。

即实现了数据隐藏,又方便继承,实现了代码重用。

 

继承是的构造函数

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

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

派生类对象的初始化过程,首先自动调用每个基类的构造函数来初始化相关的基类对象,然后再执行子类的构造函数。

 

单一继承的构造函数

派生类名::派生类名 (基类形参,本类形参):基类名(参数)

{

  //本类成员初始化赋值
}

 

多继承的构造函数

派生类名::派生类名 (基类1形参,基类2形参,基类3形参,....本类形参):基类名1(参数),基类名2(参数)基类名3(参数)

{

  //本类成员初始化赋值
}

 

派生类与基类的构造函数

当基类中声明有缺省形式的构造函数或未声明构造函数时,派生类构造函数的声明中可以省略对基类构造函数的调用。

若基类中未声明构造函数,派生类中也可以不声明,全采用缺省形式的构造函数。

当基类声明有带形参的构造函数时,派生类也应声明带的构造函数,提供将参数传递给基类构造函数的途径。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值