面试题 C++ 动态绑定 虚函数
来源:互联网 发布:卡祖笛淘宝 编辑:程序博客网 时间:2024/06/04 00:20
#include <iostream>using namespace std;class A{ public: A ():m_iVal(0){ test(); } virtual void func() { std::cout<<m_iVal<<""; } void test(){ func(); } public: int m_iVal;};class B : public A{ public: B(){ test(); }; virtual void func() { ++m_iVal; std::cout<<m_iVal<<""; } };int main(int argc ,char* argv[]){ A*p = new B; p->test(); return 0;}// 用A 基类的指针 去 引用一个 子类 ,就可能会发生 动态绑定// 初始化B的时候,因为B是从A继承来的,所以要先初始化一个A// A的构造函数,调用的 test(), 打印出0//// 进行B的构造函数,调用test(), test()中又会去调用func ,这是func发生动态绑定,// 调用B的func, ++m_iVal之后, 打印出1//// 然后运行到 p->test()// 又调用到子类的 test(), 再调用func(), 又发生动态绑定 ++m_iVal, 之后,又打印出 2//// 所以结果是//// 012////
0 0
- 面试题 C++ 动态绑定 虚函数
- 虚函数面试题
- 【C/C++】面试题:函数指针
- 虚函数与动态绑定
- 虚函数的动态绑定
- 虚函数与动态绑定
- C++虚函数动态绑定
- 虚函数的动态绑定
- 面试题总结 - C 语言 - 函数(function)
- c语言面试题---main函数
- C语言面试题---函数(一)
- C语言面试题---函数(二)
- 动态规划面试题
- 动态规划面试题
- 动态规划-面试题
- 动态规划面试题
- C/C++面试题:构造函数与析构函数
- C++类大小确定,构造、析构、静态、动态绑定(分析一道Oracle面试题)
- CAAnimation解读
- 如何制作bootloader
- UITableView中Cell重用机制导致内容重复覆盖
- Deep Belief Network简介
- AVAudioSessionCategory说明
- 面试题 C++ 动态绑定 虚函数
- 获取缓存路径、获得应用version号码
- 关于博客搬家及github的一些
- Spotlight on MySQL监控MySQL服务器
- 20151208 再次搭建Oracle11g环境 ocp 047 20-40
- IKEv1 主模式证书方法协商的载荷交互流程
- Struts2入门的入门------下载,配置,基本概念总结
- 剑指offer:把数组排成最小的数
- 图像处理基础知识(三)——根据主轴方向旋转至水平或垂直方向