首页 > 编程语言 > 详细

C++中对封装的语法支持——重载运算符

时间:2019-10-27 22:51:35      阅读:93      评论:0      收藏:0      [点我收藏+]

重载运算符

1、对于自定义类型,编译器不知道运算规则,而重载运算符会将两个对象相加转换为函数调用。

2、运算符重载转换的函数调用,函数名字是固定的规则。

  (1) 如果重载+号运算符,函数名字就是:operator+

  (2) 如果重载-号运算符,函数名字就是:operator-

  (3) 如果重载<号运算符,函数名字就是:operator<

  (4) 如果重载!号运算符,函数名字就是:operator!

3、运算符重载就是在类的内部增加某个运算符函数。

4、对于+号运算符可以返回任何类型的数据(基本数据类型,自定义数据类型)。

5、返回值可以有两个选择:值、引用。

6、返回值要考虑运算符本身的含义是什么(尽量不要违背运算符本身的含义)。

 

代码实现:

声明一个Box类和Desk类:

 技术分享图片

技术分享图片

实现Box+Box

 技术分享图片

实现Box+Desk

 技术分享图片

实现Box+int(自己制定规则)

 技术分享图片

实现Box+=Box

 技术分享图片

实现Box+=int类型

 技术分享图片

实现Box==Box(返回值类型为bool

 技术分享图片

实现Box==int类型

 技术分享图片

实现++Box

 技术分享图片

实现Box++

 技术分享图片

运算符重载也可以重载类型转换运算符(规则由自己制定)

实现Box转换为int类型、bool类型、以及Box转换为Desk类型

 技术分享图片

 

C++中对封装的语法支持——重载运算符

原文:https://www.cnblogs.com/yyslif/p/11749035.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!