C++(谭浩强)笔记(第12节).pdfVIP

  • 3
  • 0
  • 约4.39千字
  • 约 10页
  • 2017-06-13 发布于湖北
  • 举报
多态性和虚函数 一、多态性的概念 多态性(polymorphism)是面向对象的一个重要特征。顾名思义,多态的意思 就是一个事物有多种形态。在面向对象方法中一般是这样表述多态性的:向不同 的对象发送同一个消息,不同的对象在接收时会产生不同的行为(即方法)。 在C++ 中,多态性的表现形式之一是:具有不同功能的函数可以用同一个函 数名,这样就可以实现用一个函数名调用不同内容的函数。因此,函数重载、运 算符重载都是多态现象。 从系统角度看,多态性分为两类:静态多态性和动态多态性。静态多态性是 通过函数重载实现的。由函数重载和运算符重载形成的多态性称为静态多态性是 因为在编译时就知道调用函数的全部信息,因此,在程序编译时系统就能决定调 用哪个函数,所以静态多态性又称为编译时的多态性。静态多态性的函数调用速 度快、效率高,但缺乏灵活性,在程序运行前就已经决定了执行的函数和方法。 动态多态性的特点是:不在编译时确定调用哪个函数,而在程序运行过程中 才动态的确定操作所针对的对象。因而又称为运行时的多态性。动态多态性是通 过虚函数(virtual function)实现的。 二、一个典型的例子 例:先建立一个Point 类,包含数据成员x,y(坐标点)。以

文档评论(0)

1亿VIP精品文档

相关文档