轻松学C++之算符重载.pptVIP

  • 2
  • 0
  • 约4.48千字
  • 约 60页
  • 2019-03-13 发布于江苏
  • 举报
轻松学C之算符重载

【示例12-4】 下面程序对双目运算符进行了重载,并在主函数中调用这些运算符进行具体操作,其分别采用了显式调用和隐式调用两种方式。其实现代码及结果如图12-16所示。 图12-16 双目运算符重载为友元函数实例 双目运算符重载为友元函数和双目运算符重载为成员函数的根本区别在于其操作数的个数不同,前者需要指定两个参数,而后者定义时只需一个参数。 2单目运算符重载为友元函数 与单目运算符重载为成员函数不同,单目运算符重载为友元函数时,由于没有this指针,所以操作数要通过友元运算符函数的参数指出。单目运算符重载为友元函数后也有显式和隐式两种调用方法。如图12-17所示。 图12-17 单目运算符重载为友元函数的调用方法 【示例12-5】 下面程序对单目运算符进行重载,在调用该运算符时也通过显式调用和隐式调用两种方式来实现,其实现代码及结果如图12-18所示。 图12-18 单目运算符重载为友元函数实例 在将运算符重载为友元函数时,有几个运算符不能用友元函数重载如图12-19所示。 图12-19 不能用友元函数重载的运算符 注意:使用友元函数重载单目运算符“++”和“--”时,由于要改变操作数自身的值,所以应采用引用参数传递操作数,否则会出现错误。 12.2.3 运算符成员函数与友元运算符函数的比较 前面介绍了将运算符重载为成员函数和友元函数,图12-20对这两种方法进行了比较

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档