C/C++中派生类访问属性详解及其作用介绍

 更新时间:2021年09月06日 16:30:52   作者:我是小白呀  
这篇文章主要介绍了C/C++中派生类访问属性详解及其作用介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

保护继承

由 protected 声明的成员称为 “受保护的成员”, 或简称 “保护成员”.
从用户的角度来看, 保护成员等价于私有成员. 保护成员可以被派生类的成员函数引用.

在这里插入图片描述

派生类成员的访问属性

4 种访问属性:

  • 公用的: 类内和类外都可以访问
  • 受保护的: 类内可以访问, 类外不能访问, 下一层的派生类可以访问
  • 私有的: 类内可以访问, 类外不能访问
  • 不可访问的: 类内和类外都不能访问
继承方式 基类中的成员 访问属性
公用继承 (public) 公用成员和保护成员 在派生类中保持原有访问属性
公用继承 (public) 私有成员 仍为基类私有, 派生类不可访问
私有继承 (private) 公用成员和保护成员 在派生类中成了私有成员
私有继承 (private) 私有成员 仍为基类私有, 派生类不可访问
受保护的继承 (protected) 公用成员和保护成员 在派生类中成了保护成员
受保护的继承 (protected) 私有成员 仍为基类私有, 派生类不可访问

在这里插入图片描述

总结

  • 如果在多级派生时都采用公用继承方式, 那么直到最后一级派生类都能访问基类的公用成员和保护成员
  • 如果采用私有继承的方式, 经过若干次派生之后, 基类的所有的成员已经变成不可访问的了
  • 如果采用菜户继承方式, 在派生类外无法访问派生类中的任何成员. 而且经过多次派生后, 人们很难清楚的记住哪些成员可以访问, 哪些成员不能访问, 很容易出错

注: 实际开发中, 我们通常使用的是公共继承.

到此这篇关于C/C++中派生类访问属性详解及其作用介绍的文章就介绍到这了,更多相关C++派生类访问属性内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C++设计模式编程中使用Bridge桥接模式的完全攻略

    C++设计模式编程中使用Bridge桥接模式的完全攻略

    这篇文章主要介绍了C++设计模式编程中使用Bridge桥接模式的完全攻略,Bridge将抽象部分与它的实现部分分离,使它们都可以独立地变化需要的朋友可以参考下
    2016-03-03
  • c++ 结构体内存对齐基本概念及示例

    c++ 结构体内存对齐基本概念及示例

    这篇文章主要介绍了c++ 结构体内存对齐基本概念及示例,帮助大家更好的理解和学习c++,感兴趣的朋友可以了解下
    2020-12-12
  • C++11标准库bind函数应用教程

    C++11标准库bind函数应用教程

    bind函数定义在头文件functional中,可以将bind函数看做成一个通用的函数适配器,他接收一个可调用对象,生成一个新的可调用对象来"适应"原对象的参数列表。本文将带大家详细了解一下bind函数的应用详解
    2021-12-12
  • C++ 基于BFS算法的走迷宫自动寻路的实现

    C++ 基于BFS算法的走迷宫自动寻路的实现

    这篇文章主要为大家介绍了C++ 基于BFS算法实现走迷宫自动寻路,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • C++红黑树应用之手搓set和map

    C++红黑树应用之手搓set和map

    这篇文章主要为大家详细介绍了如何使用红黑树封装set和map,且必须保证两种数据结构复用同一棵红黑树,且满足set和map的性质,set的value不可被改变,而map的value可以被改变,需要的可以参考一下
    2023-03-03
  • C++类和对象之封装详解

    C++类和对象之封装详解

    大家好,本篇文章主要讲的是C++类和对象之封装详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Opencv LBPH人脸识别算法详解

    Opencv LBPH人脸识别算法详解

    这篇文章主要为大家详细介绍了Opencv LBPH人脸识别算法的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • C++中隐式类型转换学习笔记

    C++中隐式类型转换学习笔记

    在本篇文章里小编给大家整理的是一篇关于C++中隐式类型转换学习笔记内容,有兴趣的跟着小编来学习下吧。
    2020-02-02
  • C语言之实现字符串小写变大写的实例

    C语言之实现字符串小写变大写的实例

    这篇文章主要介绍了C语言之实现字符串小写变大写的实例的相关资料,需要的朋友可以参考下
    2017-05-05
  • QT与MATLAB混合编程的详细教程

    QT与MATLAB混合编程的详细教程

    最近项目需要,matlab的一些算法需要工程用,因此需要直接转成Qt能够调用的形式,下面这篇文章主要给大家介绍了关于QT与MATLAB混合编程的相关资料,需要的朋友可以参考下
    2023-01-01

最新评论