C++中vptr指针的存在
来源:互联网 发布:装修网络平台有哪些 编辑:程序博客网 时间:2024/05/23 13:10
在实现多态的时候三个步骤:
(1)必须有继承
(2)必须有virtual关键字
(3)有父类指针指向子类对象
其实在实现多态的时候,申明为虚函数是,编译器会自动生成一个虚函数表
当存在虚函数时,每个对象都有一个指向虚函数表的指针
下面我来测试一下它的存在:
#include <iostream>using namespace std;class A{public:A(int a){this->a = a;}virtual void run(){}private:int a;};class B {public:B(int a){this->a= a;}void run(){}private:int a;};class C {public:C(int a){this->a = a;}virtual void run(){}private:int a;};int main(){A a(1);C c(2);B b(3);cout << sizeof(a) << endl;cout << sizeof(b) << endl;cout << sizeof(c) << endl;return 0;}通过结果可以看出 打印的是8 4 8 刚好一个指针的长度。
希望大家关注我,哪怕我还是一个菜鸟^*^ 谢谢~
2 0
- C++中vptr指针的存在
- 证明vptr指针的存在
- 多态原理探究_证明vptr指针的存在
- vptr指针
- C/C++—— 在构造函数中调用虚函数能实现多态吗(Vptr指针初始化的过程分析)
- c 结构体中存在指针,指针的不同赋值方法
- C 语言中返回一个指向自动变量的指针存在的问题
- 并行计算中存在的空指针
- C++vptr初始化时间
- c中指针的指针
- vptr的初始化
- vptr的初始化语义学
- C语言之指针专题二:指针做函数参数是指针存在的最大意义
- C语言之指针专题二:指针做函数参数是指针存在的最大意义
- C++中空类的大小和类的虚表指针(vptr)
- 子类的vptr指针是分步初始化的_多态相关面试
- Mybatis中selectOne方法存在的坑 空指针异常
- 关于vptr的一些问题
- JavaScript 基本概念之操作符、语句、函数
- Unique Paths
- ubuntu14.04下快速安装搜狗输入法
- Oracle数据库面试练习题
- 微服务理论与实践(三)-微服务架构的基本能力和优缺点
- C++中vptr指针的存在
- 二叉树的各种遍历方法
- JavaWeb初级学习 之 JQuery-简介、选择器
- Sum of Two Integers
- mysql desc asc基本命令总结
- 做一个有自我要求的读者
- LeetCode 46. Permutations 解题报告
- Android事件分发<二>
- 学习C语言的一点感受