您的位置:首页 > 编程语言 > C语言/C++

C++继承方式

2015-07-08 14:31 525 查看


从基类派生出派生类,派生类继承基类的继承方式有三种:public、protected和private。在未指定的情况下编译器会默认继承方式为protected或private方式。

1) public继承方式

内涵段子更新
基类中所有public成员在派生类中为public属性;

基类中所有protected成员在派生类中为protected属性;

基类中所有private成员在派生类中不可访问。

具体示例可以参考上一节中的例1,在此就不再重新举例了。

2) protected继承方式

基类中的所有public成员在派生类中为protected属性;

基类中的所有protected成员在派生类中为protected属性;

基类中的所有private成员在派生类中仍然不可访问。

内涵段子更新

例1:

本类同样使用上一节中的示例,此时继承方式改为了protected继承,我们再来分析一下codingbook中类成员的属性问题,具体见下表。

codingbook类成员成员属性来源
price不可访问继承自book类
title不可访问继承自book类
内涵段子更新

lang
privatecodingbook新增
setpriceprotected继承自book类
settitleprotected继承自book类
getpriceprotected继承自book类
gettitleprotected继承自book类
dispalyprotected继承自book类
内涵段子更新

setlang
publiccodingbook新增
免费会员

getlang
publiccodingbook新增


3) private继承方式

基类中的所有public成员在派生类中均为private属性;

基类中的所有protected成员在派生类中均为private属性;

基类中的所有private成员在派生类中均不可访问。

例2:

同样,我们来分析一下本例中的codingbook类中所有成员的成员属性,具体见下表。

免费会员

codingbook类成员成员属性来源
price不可访问继承自book类
title不可访问继承自book类
langprivatecodingbook新增
setpriceprivate继承自book类
settitleprivate继承自book类
getprice免费会员

private
继承自book类
gettitleprivate继承自book类
dispalyprivate继承自book类
setlangpubliccodingbook新增
免费会员

getlang
publiccodingbook新增
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: