C++_练习—多态_证明vptr指针的存在

证明vptr指针的存在


 

 1 // 证明vptr指针的存在
 2 
 3 #include <iostream>
 4 
 5 using namespace std;
 6 
 7 class parent {
 8 public:
 9     parent(int a) {
10         this->a = a;
11     }
12 
13     virtual void pri(void) {
14         cout << "parent =  "<< a << endl;
15     }
16 
17 private:
18     int a;
19 };
20 
21 class child :public parent {
22 public:
23     child(int b) :parent(6) {
24         this->b = b;
25     }
26 
27     virtual void pri(void) {
28         cout << "child =  " << b << endl;
29     }
30 
31 private:
32     int b;
33 };
34 
35 int main(void)
36 {
37     parent par(1);
38     child chi(2);
39 
40     parent *p = NULL;
41 
42     //p = &par;
43       p = &chi;
44 
45       p->pri();
46 
47       cout << sizeof(par) << endl;  // 8个字节 = int + vpre 指针 (函数在代码段不占)
48       cout << sizeof(chi) << endl;  //12个字节 = int + int + vptr指针(继承父类)
49 
50     system("pause");
51 
52     return 0;
53 }

 

 

笔记


 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/panda-w/p/11381127.html

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

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

相关文章

NetCore的配置管理(1)

学习NetCore的配置管理&#xff1b; 目录 命令行配置Json文件配置配置文件文本至C#对象实例的映射配置文件热更新总结命令行配置&#xff1a; 打开VS2017,新建NetCore控制台项目&#xff1b; 打开nuget包管理&#xff1b;添加Microsoft.Asp.NetCore.all&#xff0c;或者使用命令…

buffer busy waits

buffer busy waitshttp://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_idNOT&p_id34405.1当会话想要访问缓冲存储器中的数据块&#xff0c;而该数据块正在被其它会话使用时产生buffer busywaits事件。其它会话可能正在从数据文件向缓冲区存…

SetupFactory安装制作心得

很多年前&#xff0c;因为仰慕Install Shield的鼎鼎大名&#xff0c;所以很是花了些功夫研究了一番&#xff0c;最后&#xff0c;基本上也可以打出很完善的包了&#xff0c;其中也不乏一些很有难度的事情&#xff0c;比如ODBC的打包等。但它实在太难用了&#xff0c;过上一段时…

Timus 1114. Boxes

Timus 1114. Boxes 要求计算出将两种颜色的球放到盒子中的各种组合的数目。1114. Boxes Time Limit: 0.6 second Memory Limit: 16 MB N boxes are lined up in a sequence (1 ≤ N ≤ 20). You have A red balls and B blue balls (0 ≤ A ≤ 15, 0 ≤ B ≤ 15). The red bal…

Speerio Skinergy 'Image' is ambiguous 错误

使用BeyondCSS皮肤时报错&#xff1a;Could Not Load Skin: /Portals/0/Skins/beyondcss/1column_speerio.ascx Error: E:"Development"DotNetNuke"InstallArea"DotNetNuke_04.08.03_Source"Website"controls"Speerio"Skinergy"s…

Sql Server中自动序号的方法

第一种:使用identity函数增加临时表的方法 selectid identity(int,1,1),*into#tmp fromtableselect*from#tmp droptable#tmp 在SQL2005中新增了ROW_NUMBER()函数,给我们带来了很多方便,使用方法如下: SELECTid,ROW_NUMBER() OVER(orderbyid)asRowNumber FROMTable有一个方便,as…

flex白板之图形绘制函数

图形的绘制 Graphics类提供了相关的方法&#xff1a; 1&#xff0c;清空画布 graphics.clear();2&#xff0c;设置画笔 graphics.lineStyle(thickness:Number NaN, color:uint 0, alpha:Number 1.0, pixelHinting:Boolean false, scaleMode:String "normal", ca…

三层体系结构学习总结

三层架构学习总结KeyWords: 三层体系结构,DAL,BLL,USL,学习心得,三层体系结构,软件三层体系结构 By Flouse2008年7月24日三层体系结构的概念 用户界面表示层(USL)业务逻辑层(BLL)数据访问层(DAL) 图一&#xff1a;BLL将USL与DAL隔开了&#xff0c;并且加入了业务规则 各层的作用…

具有全局观的网络拓扑

近年来&#xff0c;IT技术发展迅速&#xff0c;随着各个企业IT系统的建设&#xff0c;网络架构从单一的局域网扩展到广域网&#xff0c;网络设备也是类型多种多样&#xff0c;路由器、交换机、防火墙、IDS、***等等&#xff0c;而且网络设备的供应厂商也是越来越多&#xff0c;…

硬件_WIFIBlue

WIFI 平台&#xff1a;全志 模组&#xff1a;AP6210 &#xff08;WF BT FM&#xff09; 模式&#xff1a;STA  AP  Wi-Fi Direct&#xff08;点对点&#xff09; 接口&#xff1a;SDIO / USB——WF UART PCM——BT PCM数字音频接口&#xff0c;说明接口传输的音频数…

ActiveX控件的另类免费签名法

注意&#xff1a;一直都有人提到一个问题&#xff0c;就是使用支付宝的证书&#xff0c;会不会有安全问题&#xff0c;这一点是肯定的&#xff0c;所以这个证书只能拿来做软件签名用&#xff0c;不能拿来做支付的。 这几天手上在做一个项目&#xff0c;要用到ActiveX控件&#…

web布局最实用的12条css技巧

1&#xff1a;Rounded corners without images 效果图—— Rounded corners without images<div id”container”> <b class”rtop”> <b class”r1″></b> <b class”r2″></b> <b class”r3″></b> <b class”r4″>&l…

运算符(2)

1.三目运算符 /* 三目运算符/ public class demo1 { public static void main(String[] args) { int score 80; String type score<60?"不及格":"及格"; System.out.println(type); } } 2.运算符优先级逻辑非>逻辑与>逻辑或a||b&&c的运…

虚拟的有时比真实的还要好(+奥运杂谈)

虚拟技术十分热门.虚拟技术是将一台物理硬件计算机虚拟成多台软件计算机.每一台虚拟出来的软件计算机(以下叫做虚拟机)用起来都就象是在用那台被虚拟的硬件计算机(以下叫做真实机)完全一样.当然这样的说法忽略了虚拟机相对于真实机在执行效益上不可避免所存在的损失.所以如何减…

类型转换与键盘输入

1.自动类型装换 自动类型转换指的是容量小的数据类型可以自动装换为容量大的数据类型。如图2-6所示&#xff0c;黑色实线表示的是无数据丢失的 //容量小的可以自动向容量大的转化 //可以将整型常量赋值给byte/short/char等变量&#xff0c;而不需要强制类型转换&#xff0c;只要…

掷骰子游戏和条件语句

1.java掷骰子游戏 public class iftest {public static void main(String[] args) {System.out.println("#####掷骰子游戏#####");System.out.println("#################");//投掷三个色子看看今天手气怎么样&#xff1f;int i (int)(6*Math.random()1);…

加标签的continue用法

1.加标签的continue&#xff0c;类似于C语言的goto语句 转载于:https://www.cnblogs.com/ma1998/p/11444868.html

英国Carmarthen Learning Centre校长Mr Stuart来华访问,与荣新IT培训中心达成教学合作关系...

英国Carmarthen Learning Centre校长Mr Stuart来华访问&#xff0c;与荣新IT培训中心达成教学合作关系 2008年9月4日&#xff0c;英国Carmarthen Learning Centre校长Mr Stuart来华访问。Carmarthen Learning Centre所处于英国伦敦&#xff0c;是一家英国著名的培训学校&#x…

Service Broker实现发布-订阅(Publish-Subscribe)框架

Service Broker实现发布-订阅&#xff08;Publish-Subscribe&#xff09;框架Service Broker 实现一套完整的发布-订阅方案&#xff0c;其中author 发送Service Broker Message&#xff08;又称article&#xff09;到发布者&#xff08;Publisher&#xff09;。发布者负责分发消…

你所应该知道的云计算

感觉像是云计算的一个推崇者&#xff0c;为云计算在做广告&#xff0c;Robyn Peterson的文章What you need to know about cloud computing。 云计算可以保证我们不再受硬件的困扰&#xff0c;真的是这样吗&#xff1f; 在为一个小型商业或者大型企业构建IT结构的时候&#xff…