C++ 继承与派生

1.继承和派生的概念

一个新类从已有的类中获得其属性和方法,这种现象称为类的 继承
从已有的类产生新的子类的现象,称为类的 派生
被继承的类称为 基类,派生的类称为 派生类或子类

派生类是抽象基类的实例。

2.派生类的声明

公用继承
class student1:public student

私有继承
class student1:private student

保护继承
class student1:protected student

注意:如果不写继承方式,则默认为私有(private)继承。

3.派生类的构成

派生类的构成包括:
(1)继承基类的所有成员,包括数据成员和成员函数,获得共性。全部继承(除构造函数和析构函数),没有选择,所以可能会造成基类方法在派生类中用不到,而导致大量冗余。
(2)自增加的成员,包括数据成员和成员函数。体现个性。

4.派生类成员的访问属性

(1)公用继承
继承方式指定为 public

在基类的访问属性 继承方式 在派生类的访问属性
public public public
private public 不可访问
protected public protected

注意在公用派生类时,只能通过基类的公用成员函数来引用基类的私有数据成员

(2)私有继承
继承方式指定为 private

在基类的访问属性 继承方式 在派生类的访问属性
public private private
private private 不可访问
protected private protected

注意既然声明为私有继承,就表示将原来能被外界引用的成员隐藏起来,不让外界引用。

(3)保护继承
继承方式指定为 protected
如果基类声明了私有成员,那么任何派生类都是不能访问它们的的;若希望派生类可以访问它们,应当把它们声明为保护成员

在基类的访问属性 继承方式 在派生类的访问属性
public protected protected
private protected 不可访问
protected protected protected

注意基类中的保护成员只有派生类可以访问,友元可以访问基类的私有成员

保护成员和私有成员的区别在于把保护成员的范围扩展到派生类中

(4)多级派生访问属性
多级派生遵循单次派生的规则,依次叠加。
在实际中,常用多级公用派生。因为如果是私有派生或保护派生的话,多次派生之后,容易分不清楚哪些是私有、保护成员。

5.派生类的构造函数和析构函数

(1)派生类的构造函数
基类的构造函数是不能被继承的,故 在执行派生类的构造函数时,调用基类的构造函数,这样基类和派生类同时被初始化。

<1>在派生类 类体内 定义派生类构造函数:
    Student1(int n, string nam, char s, string con, string f_nam, int ag,
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值