虚函数
文章平均质量分 75
大鹏068
这个作者很懒,什么都没留下…
展开
-
C++ 多态(四)动态转换
C++ 多态(四)动态转换Dynamic casting概述在处理多态性时,您经常会遇到这样的情况:您有一个指向基类的指针,但您希望访问只存在于派生类中的一些信息。考虑以下程序:#include <iostream>#include <string> class Base{protected: int m_value;public: Base(int value): m_value(value) {} vir原创 2021-05-14 15:26:10 · 767 阅读 · 0 评论 -
C++ 多态(三)拓展
C++ 多态(三)拓展案例分析分析下面程序执行输出的结果:#include <iostream>using namespace std;class A{public: virtual void fun1() { cout << "A fun1" << endl; } virtual void fun2() { cout << "A fun2" << endl;原创 2021-05-14 14:13:35 · 82 阅读 · 0 评论 -
C++ 多态(二)虚函数表
C++ 多态(二)虚函数表The virtual table概述为了实现虚函数,C++ 使用一种特殊的后期绑定形式,称为虚表。虚表是函数的查找表,用于以动态/后期绑定的方式解析函数调用。虚表有时有其他名称,如“虚表”、“虚函数表”、“虚方法表”或“调度表”。因为使用虚函数并不需要了解虚表的工作方式,所以可以将此部分视为可选阅读。虚表实际上非常简单,尽管用文字来描述有点复杂。首先,每个使用虚函数的类(或派生自使用虚函数的类)都有自己的虚表。这个表是编译器在编译时设置的一个静态数组。虚表包含一个条目原创 2021-05-14 10:41:41 · 185 阅读 · 0 评论