virtual 虚函数的demo
来源:互联网 发布:淘宝哪家女童卖的好 编辑:程序博客网 时间:2024/06/05 23:08
三个名字上很相近的概念,重载,覆盖,重写,
这里主要是验证一下覆盖,子类的方法覆盖父类的,分别是加和不加virtual。
class Base {public: Base() {} <strong><span style="color:#ff0000;">void getData() const</span></strong> { cout << "Base getData" << endl; }private: int data;};class Sub : public Base {public: Sub() {} <span style="color:#ff0000;">void getData() const</span> { cout << "Sub getData" << endl; }};
在下面代码执行
Base* pointer = new Sub(); pointer->getData();
结果是
Base getData
而如果是
class Base {public: Base() {} <span style="color:#ff0000;">virtual void getData() const </span>{ cout << "Base getData" << endl; }private: int data;};class Sub : public Base {public: Sub() {} void getData() const { cout << "Sub getData" << endl; }};
则结果是
Sub getData
也就是说,不加virtual的话,对象会从申明的对象中执行相应的方法,而如果加了virtual,则会执行实际指向的对象的方法。
原因,可以从虚函数表的角度考虑/
0 0
- virtual 虚函数的demo
- 虚函数的详解virtual
- virtual虚函数的作用
- virtual虚函数的用法
- C++的虚函数 Virtual Function
- 牛客 题库 virtual虚函数的覆盖
- c++中的virtual虚函数的使用
- 虚函数 (virtual)
- virtual 虚函数
- virtual虚函数
- virtual虚函数
- 关于virtual虚函数
- C#虚函数virtual
- virtual纯虚函数
- Virtual members 虚函数
- c++ (virtual)虚函数
- 虚函数virtual
- virtual 虚函数
- Qt信号槽函数用lambada表达式作为槽函数的陷阱
- PPPOE协议
- 练习1-e
- 杭电2845 Beans 不连续的最大字段和
- 《世冷》进行时
- virtual 虚函数的demo
- java 反斜杠转义
- python系列之 RabbitMQ - RPC
- RecyclerView添加addHeader和addFooter方法
- 将 JAR 转为 EXE – exe4j 的使用教程(第一期)
- PHP中的数据类型转换和类型检测
- Java面向对象06-多态,内部类
- Matlab 未找到支持的编译器或 SDK 解决方法归纳
- 域渗透——Skeleton Key