【C++】运算符

运算符是什么:在C++中,运算符就是被命名为“++  --   &  等”的函数,那为什么不用函数用运算符呢?

简单回答,使用运算符代替函数会让代码更好操作,更直观。以下面的例子来说明下:


这个例子中,重载了两个运算符分别可以使year这个类增加或减少一天。从代码例很明显可以看出,代码会特别直观,而且操作起来比函数省事,不用写什么 .() 之类的东西。

上面那个写法要注意的,一是运算符的重载方式,和函数很类似,但是加了operator这个操作符,二是上面那个运算符的返回值是当前类,即(*this),这种的运算符被称作前缀运算符,是无参的,同样有后缀运算符:


调用的时候变成这样:


它的定义方式是这样的,实际上是先copy了当前类,最后返回了这个类。这样其实是浪费内存空间的,相比于前缀运算符来讲。

上面的例子中的++被称为单目运算符,因为他只有一个变量,而双目运算符就有两个变量:


上面这个例子实现的是+的双目运算符。

再来一个例子,实现+=  -=的双目运算符:


猜你喜欢

转载自blog.csdn.net/onlyongwang/article/details/80657844
今日推荐