当前位置:首页 » 密码管理 » 派生类访问基类私有成员

派生类访问基类私有成员

发布时间: 2025-10-15 17:02:24

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

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

1、私有继承的访问规则

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

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

2、公有继承的访问规则

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

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

3、保护继承的访问规则

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

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

(1)派生类访问基类私有成员扩展阅读

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

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

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

B. 派生类能否直接访问基类的私有成员若不能,应如何实现

不能
不过可以在基类里面增加公有的setxx和getxx方法,在子类里面通过这些getxx和setxx方法间接访问基类的私有成员变量

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:635
制作脚本网站 发布:2025-10-20 08:17:34 浏览:926
python中的init方法 发布:2025-10-20 08:17:33 浏览:622
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:807
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:719
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1056
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:287
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:149
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:838
python股票数据获取 发布:2025-10-20 07:39:44 浏览:750