C++中派生类对基类成员的访问形式

C++中派生类对基类成员的访问形式主要有以下两种: 1、内部访问:由派生类中新增成员对基类继承来的成员的访问。 2、对象访问:在派生类外部,通过派生类的对象对从基类继承来的成员的访问。今天给大家介绍在3中继承方式下,派生类对基类成员的访问规则。

1、私有继承的访问规则 当类的继承方式为私有继承时,基类的public成员和protected成员被继承后成为派生类的private成员,派生类的其它成员可以直接访问它们,但是在类的外部通过派生类的对象无法访问。基类的private成员在私有派生类中是不可直接访问的,所以无论是派生类的成员还是通过派生类的对象,都无法直接访问从基类继承来的private成员,但是可以通过基类提供的public成员函数间接访问。私有继承的访问规则总结如下:

基类成员

private成员

public成员

protected成员

内部访问

不可访问

可访问

可访问

对象访问

不可访问

不可访问

不可访问

2、公有继承的访问规则 当类的继承方式为公有继承时,基类的public成员和protected成员被继承到派生类中仍作为派生类的public成员和protected成员,派生类的其它成员可以直接访问它们。但是,类的外部使用者只能通过派生类的对象访问继承来的public成员。基类的private成员在私有派生类中是不可直接访问的,所以无论是派生类成员还是派生类的对象,都无法直接访问从基类继承来的private成员,但是可以通过基类提供的public成员函数直接访问它们。公有继承的访问规则总结如下:

基类成员

private成员

public成员

protected成员

内部访问

不可访问

可访问

可访问

对象访问

不可访问

可访问

不可访问

3、保护继承的访问规则  当类的继承方式为保护继承时,基类的public成员和protected成员被继承到派生类中都作为派生类的protected成员,派生类的其它成员可以直接访问它们,但是类的外部使用者不能通过派生类的对象访问它们。基类的private成员在私有派生类中是不可直接访问的,所以无论是派生类成员还是通过派生类的对象,都无法直接访问基类中的private成员。保护继承的访问规则总结如下:

基类成员

private成员

public成员

protected成员

内部访问

不可访问

可访问

可访问

对象访问

不可访问

不可访问

不可访问

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏从流域到海域

Python 迭代(iteration)

对一组数据进行遍历访问称为迭代(iteration)。 迭代是Python高级特性之一,而且Python的迭代比其他语言更为简便。但是请注意,迭代操作...

1906
来自专栏Java开发者杂谈

关于多态

  多态是面向对象的核心思想之一,多态的实现有三要素: 1、 存在继承 2、子类对父类的方法进行了重写 3、父类引用指向子类对象。   前面说的还是有点虚,下面...

3397
来自专栏Puppeteer学习

OOP in Javascript

1265
来自专栏河湾欢儿的专栏

第四节检测数据类型4种方式

901
来自专栏PHP在线

PHP字符串和数组操作函数

str_split() 函数把字符串分割到数组中。 stripslashes() 函数删除由 addslashes() 函数添加的反斜杠。 stripcslas...

4057
来自专栏osc同步分享

java的静态属性,静态块,构造函数的执行顺序

今天为了搞清楚实例化一个对象时其属性等的实例化顺序,写了下面的例子来探究: 实例化一个C的对象,其中,A为其静态属性,B为其普通属性;D为C的父类,E为D的静态...

3406
来自专栏闻道于事

JavaScript深入浅出补充——(一)数据类型,表达式和运算符

项目基本做完,在进行下一阶段学习之前先看视频学习回顾一下JavaScript 一、数据类型 JavaScript中有五种原始类型和一种对象类型 ? JavaSc...

3435
来自专栏JAVA技术站

Python学习一基础数据类型及赋值操作 原

字符串或串(String)是由数字、字母、下划线组成的一串字串,一些简单的操作如下

882
来自专栏黑泽君的专栏

final关键字、多态、抽象类、接口的小复习

--------------------------------------- 1:final关键字可以干什么?有什么特点?   最终的意思。可以修饰类,方法...

1022
来自专栏Deep learning进阶路

Python随记(三)字典

Python随记(三)字典 字典(Dictionary) 也是序列(sequence)的一种,是另一种可变容器模型。字典的值并没有特殊的顺序,但是都存储在一个...

2180

扫码关注云+社区

领取腾讯云代金券