运算符重载
2019-09-17 09:51:31来源:博客园 阅读 ()
运算符重载
1.重载
-
重载是指赋予新的含义
-
c++允许在同一作用域内的某个函数和运算符指定多个定义,分别称为函数重载和运算符重载
-
函数重载:可以让一个函数名有多重功能,在不同情况下进行不同的操作
-
运算符重载:赋予同一个运算符多重不同功能
-
-
在同一作用域内可以声明多个功能类似的同名函数,但是这些函数的形参(个数、类型、顺序)必须至少有一样不同,不能是返回值不同。
2.运算符重载
-
并不是所有运算符都可以被重载
-
可重载运算符
+ - * / % ^ & | ~ ! = < > += -= *= /= %= ^= &= |= << >>
<<= >>= == != <= >= && || ++ -- , -> () [] new new[] delete delete[]
-
不可重载的运算符
sizeof :? . .* ->* :: #
-
重载不能改变运算符的优先级和结合性
-
重载运算符不会改变用法
-
运算符重载函数不能有默认参数
-
运算符重载函数既可以作为类的成员函数,也可以作为全局函数
-
一般情况下,单目运算符最好重载为类的成员函数,双目运算符最好重载为友员函数**
-
类型转换函数只能定义为一个类的成员函数而不能定义为类的友员函数
-
若一个运算符的操作需要修改对象的状态,选择重载为成员函数比较好
-
若运算符所需操作数(尤其是第一个操作数)希望有隐式类型转换,则只能选择友员函数
-
当运算符函数是一个成员函数时,最左边的操作数(或者只有最左边的操作数)必须是运算符类的一个类对象(或者是类对象的引用),若左边的操作数必须是一个不同类的对象,或者是一个内部类型的对象,该运算符必须作为一个友员函数来实现
-
当需要重载运算符具有可交换性时,选择重载为友员函数
原文链接:https://www.cnblogs.com/IntelligencePointer/p/11519480.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- C++ 运算符重载 2020-06-10
- C++ new初始化与定位new运算符 2020-05-22
- 重载矩阵加法运算 代码参考 2020-04-29
- 重载加法运算符的复数运算 代码参考 2020-04-29
- C++基础 学习笔记五:重载之运算符重载 2020-04-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash