c++ 重载操作符有那些
时间: 2023-02-20 19:12:43 浏览: 58
重载操作符是指重新定义C++中已有运算符的含义。常见的重载操作符有:
1. 算术运算符: +, -, *, /, %
2. 关系运算符: ==, !=, >, <, >=, <=
3. 逻辑运算符: &&, ||, !
4. 赋值运算符: =
5. 位运算符: &, |, ^, ~, <<, >>
6. 自增/自减运算符: ++, --
7. 成员访问运算符: ->, .
8. 下标运算符: [ ]
9. 函数调用运算符: ( )
10. 转型运算符: (type)
11. new 和 delete 运算符: new, delete, new[], delete[]
另外还有三个特殊的运算符是可以被重载的:
1. 复合赋值运算符: +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=
2. 串联运算符: <<, >>
3. 逗号运算符: ,
需要注意的是所有运算符重载都需要在类内部进行,且实现的时候可能需要使用特殊的关键字来实现,如 friend 和 operator.
相关问题
c++ 能重载的操作符有那些
C++中可以重载的操作符有以下一些:
- 算术运算符:+、-、*、/、%
- 关系运算符:==、!=、>、<、>=、<=
- 逻辑运算符:&&、||、!
- 位运算符:&、|、^、~、<<、>>
- 赋值运算符:=、+=、-=、*=、/=、%=、&=、|=、^=、<<=、>>=
- 下标运算符:[]
- 前缀和后缀运算符:++、--
- 函数调用运算符:()
- 逗号运算符:,
- 三目运算符:? :
- 新增的 C++11 运算符:new、new[]、delete、delete[]
注意: 不能重载的操作符包括: .,.*,::,?:,sizeof,typeid,alignof,noexcept,const_cast,dynamic_cast,reinterpret_cast,static_cast
C++ =操作符重载
在C++中,=操作符不能被重载。这是因为=操作符用于赋值,它已经有了固定的语义和行为。你可以重载其他运算符,比如+、-、*等,但不能重载=操作符。\[1\]
#### 引用[.reference_title]
- *1* *3* [十个 C++ 运算符重载示例,看完不懂打我...](https://blog.csdn.net/luckydarcy/article/details/121599696)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [C++:运算符重载](https://blog.csdn.net/qq_53826699/article/details/118118074)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]