C++ 多态.ppt

C++ 多态.ppt

第5章 多态 概述 多态是一种运行期绑定(run-time binding)机制,通过这种机制,实现将函数名绑定到函数具体实现代码的目的。 概述 构成C++程序的各个函数分别在计算机的内存中拥有了一段存储空间,一个函数在内存中起始的地址(starting address)称为这个函数的入口地址(entry point)。 例如,每个C++程序都有一个名为main的顶层函数, main函数在内存中获得的存储空间的起始地址就是main函数的入口地址。 多态就是将函数名称动态地绑定到函数入口地址的运行期绑定机制。 运行期绑定与编译期绑定 编译器将所有对sayHi的调用绑定到实现sayHi的代码处,例如上例中main函数中对sayHi的调用被绑定到上面那条cout语句处。 由于sayHi函数被调用时,到底应该执行哪一段代码是由编译器在编译阶段就决定了的,因此我们将这种对sayHi函数的绑定方式称为编译期绑定 运行期绑定与编译期绑定 与编译期绑定不同的是,运行期绑定是直到程序运行之时(而不是在编译时刻),才将函数名称绑定到其入口地址。 如果对一个函数的绑定发生在运行时刻而非编译时刻,我们就称该函数是多态的。 在纯面向对象语言(如Smalltalk)中,所有的函数都是多态的。而像C++这样的混合语言,函数既可以是多态的,也可以是非多态的,这要由绑定的时机是编译时刻还是运行时刻来决定。

文档评论(0)

1亿VIP精品文档

相关文档