C++及Windows可视化程序设计第7章.ppt

C及Windows可视化程序设计第7章

第7章 多态性和虚函数 7.1 多态性 7.2 虚函数 7.3 多重继承与虚函数 实验 习题 多态性也称后约束(late binding)或动态约束(dynamic binding),它常用虚函数(virtual functions)来实现。 C++支持两种多态性:编译时的多态性和运行时的多态性。 编译时的多态性通过使用重载函数或模板获得。 运行时的多态性通过使用继承和虚函数来获得。 联编是描述编译器决定在程序运行时,一个函数调用应执行哪段代码的一个术语,是实现多态性的基础。 多态性是一个与实现有关的概念,因而难于理解和掌握。本章将重点集中于介绍运行时的多态性,并结合图解和程序实例帮助读者更好地理解多态性。 7.1 多态性 静态联编所支持的多态性称为编译时的多态性。当调用重载函数时,编译器可以根据调用时所使用的实参,在编译时就确定下来应调用哪个函数。 动态联编所支持的多态性称为运行时的多态性,这由虚函数来支持。虚函数类似于重载函数,但与重载函数的实现策略不同,即对虚函数的调用使用动态联编。 7.1.1 静态联编中的赋值兼容性及名字支配规律 派生一个类的原因并非总是为了添加新的数据成员或成员函数,有时是为了重新定义基类的函数。 第6章的【例6.2】中,类Point和类Rectangle各有一个Show(void)函数,各自完成不同的功能。类的对象和调用的函数一一对应,

文档评论(0)

1亿VIP精品文档

相关文档