虚函数中的变量作用域问题
假设有如下所示的一个继承关系:
对于实例:Derive d; 的虚函数表如下:
例如:
class Base { public:virtual void Show(){cout << a << endl;}static int a; };class Derived : public Base { public:virtual void Show(){cout << a << endl;}static int a; };int Base::a = 1; int Derived::a = 2;int main(int argc, char *argv[]) {Base *p = new Derived;p->Show();delete p;p = NULL;return 0; }
则输出为1,理由是虚函数表中指向Show是Base::Show,因此,很自然里面调用的变量只能是Base作用域的a!
转载于:https://www.cnblogs.com/bonelee/p/5951496.html
虚函数中的变量作用域问题相关推荐
- Python函数中的变量作用域
目录 一.变量作用域 二.全局变量和局部变量 一.变量作用域 变量作用域,其实就是变量可以在哪些范围内可以使用,哪些范围内不可以使用.这里只讲函数中变量的作用域,局部变量和全局变量 面向过程编程就涉及 ...
- matlab中函数参数和变量作用域
函数参数和变量作用域 函数参数的可调性 全局变量 局部变量 函数参数的可调性 nargin →判断输入实参的个数 nargout →判断输出实参的个数 这两个预定义变量有什么用处呢?看下面一个函数: ...
- Python中令人头疼的变量作用域问题,终于弄清楚了
来源:Python数据之道 作者:大奎 整理:阳哥 学习Python变量过程中,曾经为变量混乱的作用域问题头疼不已,全局变量.局部变量.自由变量傻傻分不清,今天来跟大家分享 Python变量作用域 ...
- Linux中shell变量作用域笔记
变量的作用域又可以叫做"命名空间",表示变量的上下文,同名的变量可以在多个命名空间定义,彼此互相独立. 在linux系统中,不同的进程ID的Shell默认为一个不同的命名空间. 比 ...
- 函数二的变量作用域,多函数执行,返回值,函数参数,拆包,引用
函数二 一.变量作用域 1.局部变量是函数内部变量,在函数临时保存数据,函数调用完则销毁,在函数外访问即报错 2.全局变量函数内外都可访问,当不同函数都要用到某一变量时,则可使用全局变量 def fu ...
- 【Python】Python中令人头疼的变量作用域问题,终于弄清楚了
[Python]Python中令人头疼的变量作用域问题,终于弄清楚了_fengdu78的博客-CSDN博客 [Python]Python中令人头疼的变量作用域问题,终于弄清楚了_fengdu78的博客 ...
- php 函数静态变量,php 函数中静态变量使用的问题实例分析
本文实例讲述了php 函数中静态变量使用的问题.分享给大家供大家参考,具体如下: function msg() { static $a = 0; echo $a++, ' '; } msg(); ms ...
- JavaScript调用其他函数中的变量
JS中一个函数调用另一个函数中的变量 funcA() {this.location = [];this.location = 100; }, funcB() {cc.log(this.location ...
- Javascript 中的变量作用域问题
Js中的变量作用域问题: 1.没有块级作用域.Js中的变量作用域不是以{}为界的,不像C/C++/Java. 如: 1 if(true){ 2 var name = "qqyumidi&qu ...
最新文章
- Oracle笔记 十、PL/SQL存储过程
- Math.Floor()和Math.Truncate()之间的区别
- php 浏览商品记录,php浏览历史记录
- 移民申请--申请澳大利亚技术移民的职业评估有技巧(2)
- Javascript设计模式理论与实战:适配器模式
- Tengine---nginx平台初探
- 《刷新》:拥抱同理心,建立成长型思维
- 性能优化篇(2):不能忽视的DOM元素
- 钉钉开放平台:内网穿透工具 - 服务器免费打造教程
- live555+ffmpeg如何提取关键帧(I帧,P帧,B帧)
- 程序员最喜欢什么样的项目经理?
- Html中的表格、Table和div,表格页面、员工登记表、Div代码
- 计算机教室 设备负荷,设备建设标准和规范教室线缆布线.ppt
- 关于Three.js 加载地面贴图的坑
- windows下使用route添加路由
- 转:企业最稀缺和最具价值的人力资源到底是什么?
- 8通道CAN FD,更强大的数据记录仪GL3400
- ie9 下面输入框后面怎么出现一个黑色叉叉
- org.eclipse.wst.common.project.facet.core.xml
- 达内不建议我学python-交钱了,学了3天Python编程,我想放弃了......
热门文章
- JavaScript 工作原理(二)-如何在 V8 引擎中书写最优代码的 5 条小技巧(译)
- 计算机电缆和控制电缆区别,动力电缆和控制电缆有啥区别?
- java批量导出word_java 批量生成word 文件
- python判断括号有效,在Python中检查括号是否平衡
- 二进制补码求值用c语言,C语言程序设计第2章数据类型.运算符与表达式.ppt
- 数格子算面积的方法_水基材料防锈试验方法:铸铁粉末法
- python【力扣LeetCode算法题库】3- 无重复字符的最长子串
- python基础练习(二)
- php yii 模板引擎,模板引擎(Template Engines)
- 小程序的前端坑(持续更新)