当前位置:网站首页 > 技术博客 > 正文

重载乘法运算符的函数原型声明



首先我们来看一下。

1.加号运算符的成员函数

 

详细说明成员方法重载:

 

因为成员函数()的话,我们是可以直接通过Student结构体来调用这个方法(只能因为他的名字比较特殊而已)如下代码:

 

我们可以看出直接就是a来调用他的方法,然后传入需要相加的b来进行相加

又因为我们上方说了这个函数的名字比较特殊(所以肯定有他的特殊之处),我们直接可以通过下面方式来进行相加。

 

我们可以来看一下运行结果:
在这里插入图片描述

其实也可以实现多个Student来进行相加。

 

输出的结果:
在这里插入图片描述

2.加号运算符的友元函数

首先我先来说一下友元函数与成员函数的区别:
友元函数
1.。

2.。

3.。
例:
(1).用友元符修饰的全局变量没有报错,而且可以达到我们想要的效果。
在这里插入图片描述
(2).不用友元符修饰的全局变量也没有报错,而且也可以输出。
在这里插入图片描述

成员函数

整体代码:

 

因为operator+是一个特殊重载方法,所以我们可以直接写成下方的相加形式。

 

因为关于友元函数和成员函数区别,上面我有详细说明,这里我就不在做仔细的解释了。

1.左移运算符成员函数达不到我们的效果

整体代码如下:

 

成员函数:

 

如果我们调用这个方法的话,如下所示:

 

这样达不到我们想要的cout<<student<<endl的效果。因为他的左移运算符前不是我们需要的cout(因为cout是ostream类型)而且我们现在是a.opeartor是Student类型,所以达不到我们需要的效果。

2.如果使用友元函数

整体代码:

 

全局函数:

 


在这里插入图片描述
如何使用这个全局函数,如下方:

 

我们看一下效果:
在这里插入图片描述
因为opeartor<<是个左移运算符,所以他还有特殊的更简单的输出方式:

 

也可以达到我们所需要的效果:
在这里插入图片描述

版权声明


相关文章:

  • 红黑树的概念2024-11-08 11:29:59
  • pm2(PM2 命令使用方法总结)2024-11-08 11:29:59
  • opengl教学视频2024-11-08 11:29:59
  • 好看的ui网站2024-11-08 11:29:59
  • 金手指教程视频2024-11-08 11:29:59
  • 跳表数据结构与算法2024-11-08 11:29:59
  • 双向链表构造方法2024-11-08 11:29:59
  • speex音频编码2024-11-08 11:29:59
  • 小端字节序转大端字节序2024-11-08 11:29:59
  • dos文件转换成pdf2024-11-08 11:29:59