- 4
- 0
- 约6.66万字
- 约 87页
- 2018-06-23 发布于天津
- 举报
运行中的多态性――虚函数-Read
第五章 多态性和虚函数
5.1 多态性(polymorphism)的定义
(一)定义:the quality or state of being able to assume different forms。(摘自Webster词典)
多态性:能够呈现不同形态的特性和状态。
(二)两种多态性
1.编译时的多态性:亦称静态联编(束定)(static binding)或早期联编(early binding)。即本章中前半部分将要讲述的函数和运算符[函数]的重载。编译系统进行编译时在函数地址表中找到多个重载的函数中相对应的一个函数(即形参的数量和类型完全相同的那个函数),将它们与主程序中调用它们的代码联编(binding),以备主程序运行时正确地调用。这在C++中这表现为“行为共享”(即同名函数实现不同功能),或称“同一接口,多种方法”。
2.运行时的多态性:亦称动态联编(束定)(dynamic binding)或滞后联编(late binding)。编译系统进行编译时,根据程序代码内容、按照当时动态地确定的this指针、找到相应的虚函数,将它与主程序中调用它的代码联编(binding),以供主程序在运行中调用它(本章后半部分将详细讲解)。
5.2 函数重载(overloading)
5.2.1 普通函数的重载
C语言中一个函数只能处理一个类型的数据。例如,第三章§3.1中en
原创力文档

文档评论(0)