C++的多态性
来源:互联网 发布:怎么选择打印机端口 编辑:程序博客网 时间:2024/05/29 02:47
多态性是面向对象编程的关键思想,它仅用于通过继承而相关连的类型的引用或者指针,引用和指针的静态类型和动态类型可以不同是C++用来支持多态性的基石。在C++中,通过基类的引用或者指针调用虚函数时(用virtual关键字来标识)便触发了动态绑定,这时候编译器通过生成代码,做出到运行时才确定具体调用哪个函数的决定。对于非virtual函数的调用在编译的时候就已经确定。
定义virtual需要注意的地方:
1、只有构造函数和static函数不能声明为虚函数。因为static函数不属于类的对象,他的定义是在编译阶段就已经完成。
2、virtual关键字只能在类内部进行成员函数声明时才能出现,在类外是不能出现的
3、因为virtual是触发动态绑定的标志,所以一个函数一旦在基类中声明为虚函数,那么他就一直是虚函数,在派生类中这一性质也不会变。
静态类型:在编译时可知的引用或者指针类型
动态类型:指针或者引用所绑定的对象的类型仅在运行时才知道的。
C++动态绑定的关键就是对象的实际类型可能和该对象引用或者指针类型不同,只有到运行的时候才能明确确定下来。
- C plus plus 的多态性
- C++:多态性
- C++-多态性
- C++---多态性
- C+++多态性
- 【C#】多态性
- 关于C实现C++的多态性
- 用 C 语言实现程序的多态性
- 用 C 语言实现程序的多态性
- 用C实现程序的多态性
- 用C语言实现程序的多态性
- Python怎样用C实现对象的多态性
- 用C语言实现程序的多态性
- 用 C 语言实现程序的多态性
- C语言面向对象的实现---多态性
- C语言模拟C++的多态性
- 用 C 语言实现程序的多态性
- 用 C 语言实现程序的多态性
- 边双连通模版
- win32多线程程序设计笔记(第六章上)
- 基于物化视图的数据复制方式
- int与Integer的区别
- Configuring IP Uplink Redirect on Catalyst 2948G-L3 Switches
- C++的多态性
- NSNumber vs NSInteger
- cout<<hex<<u.i<<endl 《程序员面试宝典》的一道union题目
- java 冒泡算法
- Linux下虚机SSH登陆问题解决方法--virt-manager
- 创新工场笔试题2013年校园招聘
- toj 3073 Country Road
- hdu 4738 Caocao's Bridges 割边无敌(trick)
- [教程]如何使用V7包中ActionBar(Eclipse版)