状课网-少儿编程网课专业平台
各位小伙伴大家好:
本期分享的内容主要是涉及到运算符的重载,这个内容要想学明白真的不容易。这里为大家分享的是,我试图弄懂运算重载这个知识点的过程和期间的收获。c++为什么比其他语言难学,主要也是因为它功能强大而且使用灵活。
(类似坦克跳舞,挖掘机开啤酒等)
首先来看最终结果:
下面来看代码:
首先要和大家分享到的是:上面代码在重载运算符的时候,+ 和 -、<<声明的函数不一样,代码8-10行。
+重载时声明的是普通成员函数,而-和<<声明的是友元函数。它们的区别在于重载为成员函数时,函数的参数比原来的操作数要少一个,也就是只要传递一个参数。
而重载为友元函数时操作数没有变化,还是需要两个参数。 另外大家可以注意一下第15行和第20行的区别。第15行的前面多了::(域运算符),而第20行不需要。这也是因为-重载为友元函数,而+重载为成员函数的缘故。
最后是关于<<的重载,它和+和-重载的区别是,它返回了一个引用而不是对象。因为在返回引用的时候我们可以持续输出,也就是输出v3之后我们还可以继续v2,可以写成cout<<v3<<v2;的形式。
而如果返回对象也就是写成
ostream operator << (ostream& os,MyVector v)的形式则不能持续输出。
至于为什么说起来也比较复杂,牵涉甚广,就留给真正的大神来为大家解答。如果您知道答案也欢迎给我留言和大家分享。
本期就为大家分享到这里,我们下期再会。
文章来源:创客编程小屋
C++编程课程包括C++基础课程,普及组算法课程及提高组算法课程。适合高年级以上学员学习。
42021-09-17 15:02:54
本节我们主要学习运算符中的各个积木。主要有基本的数学运算符、比较运算符、逻辑算符、字符串的处理、和一些特殊的算术运算符。1、基本的数学运算&nb
02021-10-19 16:49:29
回顾 在Python进阶记录之基础篇(一)中,我们介绍 Python中变量的概念、命名规则以及Numbers和String两大基本数据类型的基本知识。今天我们介绍一下基本数据类型之间的转换以及运算符的
02021-10-28 15:42:00
可爱的小朋友们,今天我们来学习Python常见的运算符吧Python语言常用的运算符:算术运算符比较(关系)运算符赋值运算符逻辑运算符位运算符成员运算符图1常见的运算符接下来让我们来一个一个的学习运算符吧~01Py
12021-11-05 14:56:13
可爱的小朋友们,今天我们来学习Python常见的运算符吧Python语言常用的运算符:算术运算符比较(关系)运算符赋值运算符逻辑运算符位运算符成员运算符图1常见的运算符接下来让我们来一个一个的学习运算符吧~01Py
12021-11-05 14:58:55