c++

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

c++ C++编程进阶级—运算符的重载

发布时间:2021-11-22 13:50:02 浏览 0

各位小伙伴大家好:

本期分享的内容主要是涉及到运算符的重载,这个内容要想学明白真的不容易。

这里为大家分享的是,我试图弄懂运算重载这个知识点的过程和期间的收获。c++为什么比其他语言难学,主要也是因为它功能强大而且使用灵活。

(类似坦克跳舞,挖掘机开啤酒等)

首先来看最终结果:

C++编程进阶级—运算符的重载

它实现的是向量的输出和加减运算。

下面来看代码:

C++编程进阶级—运算符的重载

代码不太长,但不算简单。

首先要和大家分享到的是:上面代码在重载运算符的时候,+ 和 -、<<声明的函数不一样,代码8-10行。

+重载时声明的是普通成员函数,而-和<<声明的是友元函数。

它们的区别在于重载为成员函数时,函数的参数比原来的操作数要少一个,也就是只要传递一个参数。

而重载为友元函数时操作数没有变化,还是需要两个参数。 另外大家可以注意一下第15行和第20行的区别。第15行的前面多了::(域运算符),而第20行不需要。这也是因为-重载为友元函数,而+重载为成员函数的缘故。

最后是关于<<的重载,它和+和-重载的区别是,它返回了一个引用而不是对象。

因为在返回引用的时候我们可以持续输出,也就是输出v3之后我们还可以继续v2,可以写成cout<<v3<<v2;的形式。

而如果返回对象也就是写成

ostream operator << (ostream& os,MyVector v)的形式则不能持续输出。

至于为什么说起来也比较复杂,牵涉甚广,就留给真正的大神来为大家解答。

如果您知道答案也欢迎给我留言和大家分享。

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

文章来源:创客编程小屋

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

上一篇:c++编程进阶级—父类构造函数的显式调用 下一篇:返回列表
相关推荐 更多