C++ 虚函数的深入思考 -动态绑定案例
来源:互联网 发布:滴定分析数据意思 编辑:程序博客网 时间:2024/05/17 23:44
使用virtual在类中定义虚函数,是为了实现多态。它是一个动态绑定,晚绑定技术。我们在学数组的时候就明白一个道理,如果知道数组的大小的,就直接定义:
1
int a[100];
但是,如果我们不确定数组是否只有100这么大,那就要使用new来动态创建了。
1
int *p = new int[n];// n 为任意数
所以,为了达到动态绑定的目的,virtual也使用了指针:虚函数指针,它指向一个虚函数表。如下图:
所以,
1
2
3
4
Base *p =
new
D1();
p->function1();
// p里面的虚指针指向的函数是D1的function1
// 所以...
http://www.learncpp.com/cpp-tutorial/125-the-virtual-table/
http://developer.51cto.com/art/201107/277381.htm
0 0
- C++ 虚函数的深入思考 -动态绑定案例
- 虚函数的动态绑定
- 虚函数的动态绑定
- C++ 对比虚函数的动态绑定
- 虚函数的静态绑定和动态绑定
- 静态绑定、动态绑定、虚函数的工作原理
- TreeView的动态绑定(C#)
- 深入理解C++的动态绑定和静态绑定
- 深入理解C++的动态绑定和静态绑定转
- 深入理解C++的动态绑定和静态绑定
- 深入理解C++的动态绑定和静态绑定
- 深入理解C++的动态绑定和静态绑定
- 深入理解C++的动态绑定和静态绑定
- 深入理解C++的动态绑定和静态绑定
- 深入理解C++的动态绑定和静态绑定
- 深入理解C++的动态绑定和静态绑定
- 深入理解C++的动态绑定和静态绑定
- 深入理解C++的动态绑定和静态绑定
- orcal数据库基本操作
- java类的惰性初始化
- OJ 1.M
- 新一代企业即时通信系统 -- 傲瑞通(OrayTalk)
- IOS静态库封装(一)
- C++ 虚函数的深入思考 -动态绑定案例
- 几种语言的单例模式的实现(C++/C#/Object-C)
- JDK 《卸载centos自带的jdk》
- android回调函数总结
- JAVA中int、String的类型转换
- javascript:history.go(-1)返回上一页时,网页已过期
- OJ 1.N
- 每天工作4小时的程序员
- ubuntu 12.04 通过apt-get 安装subversion 1.8