派生类对基类成员的访问权限

 

 

私有成员:

在类作用域中可以被访问(如在定义公有成员函数时,在其函数体中可以访问私有成员)

在类作用域外,只能通过调用公有成员函数和友元函数来访问私有成员

公有成员:

在类作用域中可以被调用(如在定义公有成员函数时,在其函数体中可以调用其他公有成员函数)

在类作用域外(即在类声明和成员函数定义之外),可以通过类的对象调用公有成员函数

类作用域:指在类中定义的名称(如数据成员名和函数成员名)所属的作用域,即类声明的代码块中和成员函数定义的函数体中

 

 

 

 

说起派生类对基类成员的访问权限可分为两种类型:

一,派生类成员对基类的访问权限。

二,派生类对象对基类成员的访问权限。

1,首先讲解一下派生类成员对基类成员的访问权限

(1)public继承的情况

public继承时,派生类成员可以访问基类的public,和protected成员,但是不可以访问private成员,此时基类的public成员就相当于变成了派生类的public成员,protected成员变成了派生类的protected成员,而private成员则变成了派生类不可访问的成员。(注:为了更方便的访问基类成员,同时不破坏基类的数据封装性,我们通常把基类成员设为protected成员)

private继承时,派生类成员可以访问基类的public,和protected成员,但是不可以访问private成员,此时基类的public成员和protected就相当于派生类的private成员,而private成员则变成了派生类不可访问的成员。protected继承时,派生类成员可以访问基类的public,和protected成员,但是不可以访问private成员,此时此时基类的public成员和protected就相当于派生类的protected成员,而private成员则变成了派生类不可访问的成员。

 

总的来说,基类的private成员在派生类成员中无法直接访问,至于其他类型的成员可以依据下面这种方法来分析。

根据此法可以总结看出除了基类的private成员,其他类型的成员以各种类型继承都可以直接被派生类成员访问。

2,讲解一下派生类对象对基类成员的访问权限

派生类对象只能直接访问通过public继承的基类的public成员,除此之外无法直接访问其他类型继承的基类成员和public继承的其他类型成员。

当然如果是间接访问的话就要具体具体分析了。

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/238321.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录算法训练营第十天 | 232.用栈实现队列、225. 用队列实现栈

232.用栈实现队列 题目链接:232.用栈实现队列 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾int…

《A++ 敏捷开发》-1 如何改善

1 如何改善 敏捷开发过程改进案例 5月 A公司一直专门为某电信公司提供针对客服、线上播放等服务。 张工是公司的中层管理者,管理好几个开发团队,有5位项目经理向他汇报。 他听说老同学的团队都开始用敏捷开发,很感兴趣,便参加了…

uniapp应用内升级

一、权限 manifest.json-APP权限设置需勾选&#xff1a; “<uses-permission android:name“android.permission.INSTALL_PACKAGES”/>”, “<uses-permission android:name“android.permission.REQUEST_INSTALL_PACKAGES”/>” 二、下载与安装 const downloadT…

Zookeeper集群搭建,四字命令监控,Leader选举原理以及数据如何同步

Java学习面试指南&#xff1a;https://javaxiaobear.cn 1、集群角色 Leader&#xff1a; 领导者。 事务请求&#xff08;写操作&#xff09;的唯一调度者和处理者&#xff0c;保证集群事务处理的顺序性&#xff1b;集群内部各个服务器的调度者。对于create、setData、delete…

抖店怎么运营?走通流程是关键!

我是电商珠珠 很多新手在入驻抖店的时候&#xff0c;都不知道前期怎么去运营。 运营的技巧很多&#xff0c;牵扯到很多细节&#xff0c;跑通流程是关键。 所以&#xff0c;今天就来给大家讲讲抖店的几个基本流程&#xff0c;只有将流程跑通了才能去更快的抠细节上的东西。 …

金融软件开发的 4 大挑战

与大多数行业一样&#xff0c;金融行业不断发展&#xff0c;同样给软件和解决方案开发带来了挑战。虽然这些挑战并不独特&#xff0c;也不新颖&#xff0c;但是随着时间的推移&#xff0c;金融体系越来越复杂&#xff0c;这些挑战的影响也越来越大。 在上一篇文章中&#xff0…

Jenkins自动化构建打包,部署

1.环境准备 上传jdk&#xff0c;maven和tomcat的包&#xff0c;解压到/usr/local下并配置环境变量。 配置jdk [rootserver04 ~]# vim /etc/profile.d/java.sh JAVA_HOME/usr/local/java export PATH$JAVA_HOME/bin:$PATH##加载环境变量 [rootserver04 ~]# source /etc/profi…

elementui - table中下拉进行验证

<template><!-- 巡查计划 - 新增巡查点位 --><el-dialog :visible.sync"dialogShow1" title"新增巡查点位" width"800" top"15vh" closehandleCancle><el-form :model"ruleForm" ref"ruleForm&qu…

C语言--指针深入理解--题目篇

C语言--指针深入理解--题目篇 1. sizeof 与 strlen 比较1.1 sizeof1.2 strlen1.3 数组名的意义 2. 数组和指针笔试题解析&#xff08;均以x86环境为例&#xff09;2.1 ⼀维数组2.2 字符数组2.3 二维数组 3. 指针运算笔试题解析 1. sizeof 与 strlen 比较 1.1 sizeof sizeof 计…

FPGA未解之谜

一.ila一会能加载出波形&#xff0c;一会加载不出波形——在自己做的v7开发板中遇到&#xff0c;其他开发板从未遇到过 1.小梅哥说&#xff1a;可能与硬件jtag连接不稳定导致。

DRF从入门到精通二(Request源码分析、DRF之序列化、反序列化、反序列化校验、序列化器常用字段及参数、source、定制字段、保存数据)

文章目录 一、Request对象源码分析区分原生request和新生request新的request还能像原来的reqeust一样使用吗源码片段分析总结&#xff1a; 二、DRF之序列化组件序列化介绍序列化步骤序列化组件的基本使用反序列化基本使用反序列化的新增反序列化的新增删除单条 反序列化的校验序…

【Linux笔记】网络操作命令详细介绍

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;Linux学习 ⛳️ 功不唐捐&#xff0c;玉汝于成 前言&#xff1a; 网络操作是Linux系统中常见的任务之一&#xff0c;它涵盖了测试网络连接、配置网络接口、显示网络统计信息以及远程登录和文件传…

RabbitMQ笔记(高级篇)

RabbitMQ笔记_高级篇 问题代码准备1. 新建生产者2. 新建消费者 RabbitMQ 高级特性1. 消息的可靠投递☆1.1 两种模式1.2 测试confirm 确认模式1.3 测试return 退回模式1.4 小结 2. Consumer ACK☆2.1 三种ACK2.2 测试手动ACK2.3 小结2.4 消息可靠性总结 3. 消费端限流测试消费端…

js执行本地cmd命令

javascript执行本地cmd命令,javascript代码怎么执行_js调用本机cmd-CSDN博客 使用 Node.js 打开本地应用_nodejs启动应用-CSDN博客 笔记:nodejs脚本唤醒本地应用程序或者调用命令-CSDN博客 命令行打开vscode 你可以使用CLI命令从终端或Bash启动VSCode。 在当前目录中打开VSCo…

JavaScript计时器

JavaScript计时器 <!doctype html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport"content"widthdevice-width, user-scalableno, initial-scale1.0, maximum-scale1.0, minimum-scale1.0&q…

【即插即用篇】YOLOv8改进实战 | 引入 Involution(内卷),用于视觉识别的新一代神经网络!涨点神器!

YOLOv8专栏导航:点击此处跳转 前言 YOLOv8 是由 YOLOv5 的发布者 Ultralytics 发布的最新版本的 YOLO。它可用于对象检测、分割、分类任务以及大型数据集的学习,并且可以在包括 CPU 和 GPU 在内的各种硬件上执行。 YOLOv8是一种尖端的、最先进的 (SOTA) 模型,它建立在以前成…

【华为机试】2023年真题B卷(python)-城市聚集度

一、题目 题目描述&#xff1a; 一张地图上有n个城市&#xff0c;城市和城市之间有且只有一条道路相连&#xff1a;要么直接相连&#xff0c;要么通过其它城市中转相连&#xff08;可中转一次或多次&#xff09;。城市与城市之间的道路都不会成环。 当切断通往某个城市 i 的所有…

CSS 网页制作-学成在线

1、 准备工作 1.1 项目目录 网站根目录是指存放网站的第一层文件夹&#xff0c;内部包含当前网站的所有素材&#xff0c;包含HTML、CSS、图片、JavaScript等等。 1.2 版心效果 可以发现都是呈现版心居中的效果&#xff0c;但是每次都写一次太麻烦了&#xff0c;可以把版心居中…

python可以做小程序研发嘛,python能做微信小程序吗

大家好&#xff0c;给大家分享一下python可以做微信小程序开发吗&#xff0c;很多人还不知道这一点。下面详细解释一下。现在让我们来看看&#xff01; 大家好&#xff0c;给大家分享一下用python编写一个小程序&#xff0c;很多人还不知道这一点。下面详细解释一下用python代码…

java设计模式学习之【命令模式】

文章目录 引言命令模式简介定义与用途实现方式 使用场景优势与劣势在Spring框架中的应用股票示例代码地址 引言 想象一下&#xff0c;你在一个忙碌的厨房里&#xff0c;厨师们正忙于准备各种菜肴。每当服务员带来一个新订单时&#xff0c;他们不会直接对厨师说需要做什么菜。相…