c++

状课网-少儿编程网课专业平台

c++ C++编程进阶级—算术运算重载为成员函数

发布时间:2021-11-23 16:04:53 浏览 0
各位小伙伴大家好: 本位继续为大家分享到还是关于运算符的重载,前面已经和大家分享了提取和输出运算一般重载为友元函数。

今天我们来看看算术运算符+=的重载,这是一个双目运算符,需要两个操作对象。

首先还是看代码示例:

C++编程进阶级—算术运算重载为成员函数

C++编程进阶级—算术运算重载为成员函数

  注意看它的命名,这是一个头文件。头文件中重新定义了输入输出符,并将它们重载为友元函数。 而+=运算符则被重载为成员函数,算术运算符重载为成员函数会比较简洁。   因为它将运算符前面的对象作为第一个操作对象,所以在做双目运算的时候只需要传递另一操作对象就可以。   我们来看一下主程序:

C++编程进阶级—算术运算重载为成员函数

程序第8行调用了+=运算符,目的是将两个字符串连接起来。 先来看看运行结果:

C++编程进阶级—算术运算重载为成员函数

运行结果将两个字符串连接起来,注意str2在左边。 笔记: 我们在调用一个重载为成员函数的双目运算符时,只需要一个参数。因为默认运算左边的对象作为第一个操作对象。 隐含参数是它的this指针,也就是调用函数的对象本身。  

例如:上面的str2+=str1; 相当于是str2调用了它的成员函数+=(运算符可以理解为一个函数),并只接受一个参数str1,另一个操作数据是它自己。

另外需要注意一下(第33行) +=运算符的返回类型和返回值分别是Ministring类和*this指针,也就是返回一个新的自己。

 强调: 赋值运算符=、下标运算符[ ]、调用运算符( )、成员访问指针运算符->,必须重载为成员函数。

本期为大家分享到这里,我们下期再会

 

文章来源:创客编程小屋

本文链接:https://www.ascratch.com/news/17499.html

上一篇:C++编程进阶级—参数也是分帮派的 下一篇:返回列表