C语言变量继承,三种继承方式

本文介绍了C语言中的三种继承方式:公有、私有和保护继承,详细阐述了不同继承方式下基类成员在派生类中的访问权限变化,包括公有成员、私有成员和保护成员的访问规则。通过对时钟和闹钟的实例,展示了各种继承方式的访问特性,并总结了各类成员在不同继承权限下的访问规则。
摘要由CSDN通过智能技术生成

在上一节中,我们看到了派生类的定义方法,用到了public的公有继承,实际这里一共有三种方式,分别是公有继承、私有继承、保护继承。

不同的继承方式,主要区别在于基类中不同访问权限的成员在派生类中的访问权限变化情况。下面一一介绍。

先来说说公有继承,公有继承的模式下,特点如下:

1. 基类中的公有成员,在派生类中仍然为公有成员。当然无论派生里的成员函数还是派生类对象都可以访问。

2. 基类中的私有成员,无论在派生类的成员还是派生类对象都不可以访问。

3. 基类中的保护成员,在派生类中仍然是保护类型,可以通过派生类的成员函数访问,但派生类对象不可以访问!

第二种,私有继承。

在私有继承的情况下,公有类型、私有类型、受保护类型三种成员的访问权限如下:

1. 基类的公有和受保护类型,被派生类私有继承吸收后,都变为派生类的私有类型,即在类的成员函数里可以访问,不能在类外访问。

2. 而基类的私有成员,在派生类无论类内还是类外都不可以访问。

可以看出来,如果为私有派生,则基类的私有成员在派生类甚至再派生出的子类中,都无法再使用。没有什么存在意义,故这种使用情况比较少。

第三种,保护继承

保护类型的继承,特点如下:

1. 基类的公有成员和保护类型成员在派生类中为保护成员。

2. 基类的私有成员在派生类中不能被直接访问。

可以看的出来,派生类里的成员函数可以访问基类的公有成员和保护成员,但在类外通过派生类对象则无法访问它们

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值