C++继承方式

本文详细介绍了公有继承、私有继承及保护继承的概念及其特点。解释了不同继承方式下父类成员在子类中的可见性,并给出了子类与父类转换的规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。

 

1. 公有继承(public)

公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类所访问

子类可以自动转换成父类

Chiled c;

ParentA p=c; //没问题

2. 私有继承(private)

私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,并且不能被这个派生类的子类和其他平行类所访问。私有继承的一个著名用途——让某个类不能当作基类去派生其他类,即Javafinal关键字的功能

子类不能自动转换成父类:ParentA p=c;错误

 

3. 保护继承(protected)

保护继承的特点是基类的所有公有成员和保护成员都成为派生类的保护成员,并且只能被它的派生类成员函数或友元访问

子类不能自动转换成父类:ParentA p=c;错误

 

下面列出三种不同的继承方式的基类特性和派生类特性。

 

 子类\父类        public          protected          private

共有继承         public           protected         不可见

私有继承         private         private              不可见

保护继承         protected     protected         不可见

 

如果子类与父类有同名成员,子类实例默认是访问子类自己的成员,如果子类没有该成员,则访问父类的成员

在子类中访问 ParentA::index 并不代表index是父类ParentA 的静态成员,index可以是父类 ParentA 的实例成员

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值