C++ 多态 (virtual)
来源:互联网 发布:腾讯大数据平台优势 编辑:程序博客网 时间:2024/06/05 12:14
C++ 多态 (virtual)
#include <iostream>using namespace std;class A{ public: A():i(10){} virtual void f() {cout<< "A::f()" << i <<endl;} int i;};class B:public A{ public: B(): j(11){} virtual void f() {cout<< "B::f()" << j <<endl;} int j;};int fun(A* p){ cout << p->i << endl; p->f();}int main (int argc, char *argv[]){ A a; B b; A *p = &a; int *r = (int *)&a; //a 的 虚表 的地址 int *t = (int *)&b; //b 的 虚表 的地址 *r = *t; //将 b 虚表的地址, 赋值给a p->f(); // p指针调用 b 虚表的 f() 函数 a = b; //直接赋值,virtual不生效 a.f(); cin.get();}
阅读全文
0 0
- Virtual & Abstract (C++)
- virtual和override(C#)
- 虚表(C++)virtual table
- 虚表(C++)virtual table
- 虚表(C++)virtual table
- c++virtual
- C++ 多态 (virtual)
- virtual和abstract的区别(C#)
- C++多态(virtual)(1)
- C++多态(virtual)(2)
- 关于C#:abstract,virtual
- C++Virtual详解
- C#virtual override new
- C++ virtual 继承
- C# 关键字--virtual
- c++------virtual const static
- C++virtual继承
- c++Virtual关键字
- python pyqt组件学习(1)
- 二维数组访问问题
- JavaSE_笔试题_判断题1
- c++模块间传递参数的一些经验教训
- Caffe源码解析2:SycedMem
- C++ 多态 (virtual)
- DC-6:数组逆序的两种思路
- Lua学习-语句
- Android最佳性能实践(一)——合理管理内存
- Caffe源码解析3:Layer
- 算法学习(贪心算法一)活动选择问题
- Caffe源码解析4: Data_layer
- Android最佳性能实践(二)——分析内存的使用情况
- 浅谈C++ 标准库中的异常 —— stdexcept类