类的继承私有成员问题
类的继承过程分为公有继承,保护继承和私有继承,不管哪一种继承,基类的私有成员在派生类成员中都是不可见的,但是基类的私有成员是否被派生类继承了呢?通过下面实验就可以知道。
代码例如以下:
#include <iostream>
using namespace std;
class Base {
public:
Base():a(5){}
private:virtual void f() { cout << "Base::f" << endl; }int a;};
class Derive : public Base{};
void main() {Derive d;int** pVtab = (int**)&d;Fun pFun = (Fun)pVtab[0][0];cout<<sizeof(Base)<<sizeof(Derive)<<endl;pFun();cout<<(int)pVtab[1]<<endl;return ;
}
监视窗体例如以下图:
执行结果例如以下:
由以上可知,基类的私有成员被派生类继承了,而类的对象空间没有响应的常规函数成员的分布。同一时候依据类的对象的内存空间的分布。我们能够在类外訪问类的私有成员。
转载于:https://www.cnblogs.com/gcczhongduan/p/5116515.html
类的继承私有成员问题相关推荐
- 【Flutter】Dart 面向对象 ( 类定义 | 类的继承 | 私有变量 | 可选参数 | 默认参数 | 初始化列表 )
文章目录 一. Dart 面向对象 二. 类定义 三. 类的继承 四. 私有变量 五. 可选参数与默认参数 六. 初始化列表 七. 完整代码示例 八. 相关资源 一. Dart 面向对象 OOP 基本 ...
- python-装饰器,类与对象,私有字段,析构,__call__,继承,多继承,接口
1.装饰器执行流程 装饰器可用于权限管理: 装饰器:将原函数替换为wrapper函数 def outer() @outer --- func1作为参数传入outer() def wrapper() - ...
- Java:继承之super关键字,继承之私有权限,继承之方法重写,继承之object类,继承之简单工厂模式
一.继承的概念及用法 继承背后的思想就是 基于已存在的类来构建新类 当从已存在类继承时,就重用了它的方法和属性,还可以添加新的方法和属性来定制新类以应对需求 ...
- 传智播客python笔记_python传智播客笔记--第十天:隐藏属性,私有属性,私有方法,__del__方法,类的继承,类中方法的重写...
封装,继承,多态 隐藏属性,私有属性,私有方法,__del__方法,类的继承,类中方法的重写 -**************************************************** ...
- JAVA 类的继承(私有属性、自动转型)(入门级小白一看就懂)
JAVA 类的继承 文章目录 JAVA 类的继承 概述 1. 类的继承 1.1 引言 1.2 继承的定义 1.3 继承的规则 1.4 继承的格式 1.5 类的继承实例分析 2 私有属性 3 自动转型 ...
- 设计复数类 Complex继承于数字类 Number,私有成员变量包括 double类型的实部rea(父类 Number中已定义)和虚部imag,公有成员方法包括两个构造方法(一个不带参数的和一个带两
设计复数类 Complex继承于数字类 Number,私有成员变量包括 double类型的实部rea(父类 Number中已定义)和虚部imag,公有成员方法包括两个构造方法(一个不带参数的和一个 ...
- Python 类—类属性(私有属性、公有属性、实例属性、局部变量)类方法(实例方法、静态方法)
1. 创建类 类是对某个对象的定义,它包含有关对象动作方式的信息,包括它的名称.方法.属性和事件.类不存在于内存中,因此它本身并不是对象.当程序运行需要引用类的代码时,就会在内存中创建一个类的新实例, ...
- C++:随笔5---this指针和类的继承
this指针:(通过一个典型的例子来认识他) class Human {char fishc;Human(char fishc);//构造函数}; Human::Human(char fishc)// ...
- 继承项目第13周-项目1-基类中成员的访问限定符和派生类的继承方式
这段时间笔者几篇文章介绍了改继承项目的文章. 关联文章的地址 每日一道理 风,那么轻柔,带动着小树.小草一起翩翩起舞,当一阵清风飘来,如同母亲的手轻轻抚摸自己的脸庞,我喜欢那种感觉,带有丝丝凉意,让人 ...
最新文章
- 2022-2028年中国橡胶手套行业市场研究及前瞻分析报告
- Java项目:在线美食网站系统(java+SSM+jsp+mysql+maven)
- Linux 常用小技巧
- mysql 导出中文乱码_sqoop导出到mysql中文乱码问题总结、utf8、gbk
- 点击定位到指定位置_以三菱PLC来举例说明相对定位与绝对定位指令
- 【opencv】5.cv::findContours和cv::drawContours()
- [py][mx]django form验证-给db减压
- 代码中 密码存储_你还记得浏览器自动存储的密码吗?用js代码恢复一下记忆吧...
- C++中面向对象的理解
- 【华为云技术分享】《跟唐老师学习云网络》 - Veth网线
- ajax+对号,操作成功动画效果(圆圈变成勾号)
- 软考初级程序员---题目(三)
- 每个程序员都应该阅读的10本数据结构和算法书籍
- 解决移动端点击响应速度慢的问题tap
- 计算基因上外显子碱基覆盖度(exon coverage depth):Samtool工具使用
- Microsoft Office 2013 word MathType 报错 (MathPage.wll)
- feature map理解
- oracle中的rownumber,oracle中row_number和rownum的区别和联系(翻译)
- HUB, 交换机,路由器,区别
- ​Word文档的隐藏功能​
热门文章
- docsify管理学习笔记
- CentOS 7升级gcc 8.3.1 7.x.x 4.9.4版本
- c 语言程序设计现代方法:13章习题自己编答案(持续更新)
- windows7下安装centos7双系统(未验证)
- 为了在 Windows 上安装 GCC
- [攻防世界 pwn]——guess_num
- x265-确定slice type-3
- 源码包编译PHP5.6,源码编译安装php5.6
- 第 5 章 Spring AOP: Spring之面向方面编程
- Hibernate 实体关联关系映射----总结