当前位置:首页 » 密码管理 » 派生类对基类访问

派生类对基类访问

发布时间: 2023-03-12 13:20:51

① c++中派生类如何访问基类成员变量

C++中派生类对基类成员的访问形式主要有以下两种:
1、内部访问:由派生类中新增成员对基类继承来的成员的访问。
2、对象访问:在派生类外部,通过派生类的对象对从基类继承来的成员的访问。

三种继承方式下,派生类对基类成员的访问规则。

1、私有继承的访问规则

② 派生类的对象对基类中的什么成员是可以访问的

C++中派生类对基类成员的三种访问规则:

1、私有继承的访问规则

当类的继承方式为私有继承时,基类的public成员和protected成员被继承后成为派生类的private成员,派生类的其它成员可以直接访问它们,但是在类的外部通过派生类的对象无法访问。

基类的private成员在私有派生类中是不可直接访问的,所以无论是派生类的成员还是通过派生类的对象,都无法直接访问从基类继承来的private成员,但是可以通过基类提供的public成员函数间接访问。

2、公有继承的访问规则

当类的继承方式为公有继承时,基类的public成员和protected成员被继承到派生类中仍作为派生类的public成员和protected成员,派生类的其它成员可以直接访问它们。但是,类的外部使用者只能通过派生类的对象访问继承来的public成员。

基类的private成员在私有派生类中是不可直接访问的,所以无论是派生类成员还是派生类的对象,都无法直接访问从基类继承来的private成员,但是可以通过基类提供的public成员函数直接访问它们。

3、保护继承的访问规则

当类的继承方式为保护继承时,基类的public成员和protected成员被继承到派生类中都作为派生类的protected成员,派生类的其它成员可以直接访问它们,但是类的外部使用者不能通过派生类的对象访问它们。

基类的private成员在私有派生类中是不可直接访问的,所以无论是派生类成员还是通过派生类的对象,都无法直接访问基类中的private成员。

(2)派生类对基类访问扩展阅读

基类和派生类是一个相对的关系。基类和派生类反映了类与类的继承关系,是相对而言的。基类又称父类,是被派生类继承的类。派生类又称子类,是从一个已有类的基础上创建的新类,新类包含基类的所有成员,并且还添加了自己的成员。

假设有两个类A和B,A和B都需要实现一个打印的功能,原始的做法是A写一个打印函数,B也写一个打印函数。两个类还好可以写,但多了就特别麻烦。

这个时候我们就可以写一个类C,C里面写一个打印函数。A和B分别继承C,这样A和B就不要写打印函数了。这样即节省了代码,又优化了结构。上面的情况,C是A和B的基类,A和B是C的派生类。

③ 派生类的对象对它的基类成员中( )是可以访问的。

派生类的对象对它的基类成员中(A、公有集成的公有成员)是可以访问的。

只要是派生类,都可以丛基类中继承,除非把基类的构造函数定义为私有的,这样派生类无法构造。

在类的层次设计中,可以发现一些普遍的特性,即派生类总是同基类有“kind of”关系。另一个值得注意点是Book既是派生类,也是基类。



(3)派生类对基类访问扩展阅读:

每个派生类的说明是在基类的说明之后说明的,因此对于基类仅只给出一个前向引用的说明是不够的,必须是完全的说明。一个类可以作为很多特别类的基类。

在继承中,派生类含有基类的成员加上任何你新增的成员。结果派生类可以引用基类的成员(除非这些成员在派生类中重定义了)。当在派生类中重定义直接基类或间接基类的成员时,可以使用范围分辨符(::)引用这些成员。

④ 基类对象可以直接访问派生类成员吗

开发语言
C++中派生类对基类成员的三种访问规则

冬雪如春
原创
关注
2点赞·4286人阅读
C++中派生类对基类成员的访问形式有两种:
1.内部访问:派生类新增成员对从基类继承过来成员进行访问
2.对象访问:在派生类外部,通过派生类对象对从基类继承过来的成员进行访问
下面看看派生类对基类的成员的访问规则:
1.派生类私有继承了基类规则(private)
当类的继承方式是私有继承(private)时,基类中的public和protected成员被继承后称为派生类的私有成员,派生类的成员可以直接访问他们,但是在类的外部,通过派生类的对象是不可以对其进行访问的。还有基类中的私有成员在派生类中是不可以直接访问的,无论是派生类的成员还是派生类的对象都无法访问基类中的私有成员。但可以通过基类提供的public 函数对其进行间接的访问。

2.派生类保护继承了基类规则:(protected)
当类的继承方式是保护继承(protected)时,基类中的public和protected成员被继承后称为派生类的保护成员,派生类的成员可以直接访问他们,但是在类的外部,通过派生类的对象是不可以对其进行访问的。还有基类中的私有成员在派生类中是不可以直接访问的,无论是派生类的成员还是派生类的对象都无法访问基类中的私有成员。但可以通过基类提供的public 函数对其进行间接的访问。

3.派生类公有继承了基类规则:(public)
当类的继承方式是公有继承(public)时,基类中的public和protected成员被继承后称为派生类的公有成员和保护成员,派生类的成员可以直接访问他们,但是在类的外部,通过派生类的对象只能进行访问继承过来的public成员。还有基类中的私有成员在派生类中是不可以直接访问的,无论是派生类的成员还是派生类的对象都无法访问基类中的私有成员。但可以通过基类提供的public 函数对其进行间接的访问。

热点内容
opencv存储图片 发布:2025-05-20 00:16:10 浏览:951
ug编程链轮 发布:2025-05-20 00:14:03 浏览:99
手机锁屏壁纸配置失败怎么解决 发布:2025-05-20 00:10:38 浏览:756
源码编译的软件怎么卸载 发布:2025-05-20 00:05:29 浏览:488
access脚本 发布:2025-05-19 23:38:54 浏览:219
硬盘内存储盘材质 发布:2025-05-19 23:38:53 浏览:716
五台电脑服务器配置 发布:2025-05-19 23:33:05 浏览:277
苹果爱奇艺后台缓存 发布:2025-05-19 23:32:01 浏览:60
perl复制文件夹 发布:2025-05-19 23:31:19 浏览:294
linux用户空间与内核空间 发布:2025-05-19 23:26:59 浏览:801