多态性与重载.pptVIP

  • 6
  • 0
  • 约6.57千字
  • 约 19页
  • 2018-08-13 发布于江苏
  • 举报
多态性与重载

第六章 多态性与重载 6.1 程序的多态性 多态性指在程序中同一符号或名字在不同情况下具有不同解释的现象(polymorphism)。在面向对象程序设计语言中,由程序员设计的多态性有两种基本的形式:编译时多态性和运行时多态性。 编译时多态性是指在程序编译阶段即可确定下来的多态性,主要通过使用重载机制获得,重载机制包括函数重载和运算符重载两大类。函数重载允许程序员用相同的名字定义两个或更多的C++函数,使得语义非常相似的函数可以用同样的标识符来命名。运算符重载允许程序员重新定义C++语言已有的运算符,以一种更自然的方式使用程序员自己定义的类的类型。 运行时多态性是指必须等到程序运行期间才能确定的多态性,主要通过继承结合动态绑定获得。要产生运行时多态性必须先设计一个类层次,然后在某些类中使用虚函数。虚函数与普通函数的区别在于函数名字与函数实体的绑定方式不同,普通函数使用的是静态绑定,而虚函数使用的是动态绑定。 6.2 函数重载 在C++语言中,只要在声明函数原型时形式参数的个数或对应位置的类型不同,两个或更多的函数就可以共用同一个名字。这种在同一作用域中允许多个函数使用同一个函数名的措施称为重载(overloading)。函数重载是C++程序获得多态性的途径之一。 C语言不支持重载,所以每个函数都必须具有唯一的一个名字。如C语言的数学函数库中提供了三个函数求绝对值:abs()、

文档评论(0)

1亿VIP精品文档

相关文档