第8章 运符重载.docVIP

  • 1
  • 0
  • 约16.04万字
  • 约 26页
  • 2016-12-23 发布于河南
  • 举报
第八章 操作符重载 重载是C++多态性的体现之一。当定义新的数据类型之后,C++原有操作符提供的操作在语义往往不能满足对新的数据类型的对象进行操作,因此必须对C++原有操作符的操作语义进行扩充,这就是重载的应用需求背景。 8.1操作符重载概述 当在同一作用域内声明两个或多个相同的名字(即标识符)时,称该名字被重载。在同一作用域内的两个声明,如果声明的名字相同但是数据类型不同,则称这两个声明为重载声明。C++规定,只有函数声明可以被重载,对象声明或类型声明不允许重载。换言之,C++的这一规定将重载严格限制在函数范畴。 当重载的函数被调用时,从诸个可调用的重载函数(viable functions)中究竟调用那一个函数则由调用时实参的类型与函数声明时形参的类型相比较结果的一致性决定。这个选择与决定的过程称为重载解析。在C++中,根据函数的定义者是谁可以将函数分为两类。一类是由程序员定义的函数,它们往往被称为用户自定义函数,另一类则是系统提供的函数。就系统提供的函数而言,根据它们的调用方式,又可以进一步分为两类。一类是与用户自定义函数调用方式相同的系统函数,它们往往称为库函数或类库中的成员函数;另一类则沿用自然语言和数,,,,语言的使用习惯,在各类表达式中完成相应的运算,它们往往称为操作符或运算符,但实际上是系统的预定义函数或操作符函数。例如对整型对象x、y,x+y实际表示对预定义函数

文档评论(0)

1亿VIP精品文档

相关文档