ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C++运算符重载

2022-08-08 13:01:33  阅读:178  来源: 互联网

标签:const C++ 运算符 operator 重载 c2 c1 friend


注意事项

  • 运算符重载不改变运算符的优先级。
  • 以下运算符不能被重载:. .* :: ?: sizeof

以全局函数的形式重载:四则运算符号、逻辑判断符号、流运算符号
+ - * / == != < > <= >= << >>

以成员函数的形式重载:赋值类符号、自增符号、型强制转换符号、成员访问符号
= += -= *= /= ++ -- () [] ->

不限形式重载:内存管理符号
new delete new[] delete[]

friend T operator+(const T &c1, const T &c2);
friend T operator-(const T &c1, const T &c2);
friend T operator*(const T &c1, const T &c2);
friend T operator/(const T &c1, const T &c2);


friend bool operator==(const T &c1, const T &c2);
friend bool operator!=(const T &c1, const T &c2);


friend istream &operator>>(T & in, T &c);
friend ostream &operator<<(T & out, T &c);


T &operator+=(const T &c);
T &operator-=(const T &c);
T &operator*=(const T &c);
T &operator/=(const T &c);


T operator++();  	// ++ i
T operator++(int);  // i ++
T operator--();		// -- i
T operator--(int);	// i --


operator double(); // 重载强制类型转换运算符时,不需要指定返回值类型


T &operator[](int);
const T &operator[](int) const;

标签:const,C++,运算符,operator,重载,c2,c1,friend
来源: https://www.cnblogs.com/ivvodocuments/p/16561451.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有