【C++】双目运算符+=的重载(包含友元)
2021/9/15 22:05:16
本文主要是介绍【C++】双目运算符+=的重载(包含友元),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 1、+=重载
- 2、friend重载+=
- 3、运算符
- 3.1 单目运算符
- 3.2 双目运算符
- 3.3 三目运算符
- 4、重载++和重载- -
1、+=重载
class Complex { public: Complex(int a, int b) : _a(a) , _b(b) {} Complex& operator+= (Complex& other) { this->_a += other._a; this->_b += other._b; return *this; } void print() { cout << _a << endl; cout << _b << endl; } private: int _a; int _b; }; void TestLei() { int a = 10, b = 20, c = 30; Complex c1(10, 20); Complex c2(20, 30); Complex c3(30, 40); c1 += c2 += c3; c1.print(); }
2、friend重载+=
class Complex { public: Complex(int a, int b) : _a(a) , _b(b) {} friend Complex& operator+= (Complex& c1, Complex& c2) { c1._a += c2._a; c1._b += c2._b; return c1; } void print() { cout << _a << endl; cout << _b << endl; } private: int _a; int _b; }; void TestFriend() { int a = 10, b = 20, c = 30; Complex c1(10, 20); Complex c2(20, 30); Complex c3(30, 40); c1 += c2 += c3; c1.print(); }
3、运算符
3.1 单目运算符
单目运算符是指运算所需变量为一个的运算符。
逻辑非运算符【!】、按位取反运算符【~】、自增自减运算符【++,–】、负号运算符【-】
类型转换运算符【(类型)】、指针运算符和取地址运算符【*和&】、长度运算符【sizeof】
3.2 双目运算符
双目运算符就是对两个变量进行操作。
初等运算符
下标运算符【[]】、分量运算符的指向结构体成员运算符【->】、结构体成员运算符【.】 算术运算符
乘法运算符【*】、除法运算符【/】、取余运算符【%】 、加法运算符【+】、减法运算符【-】
关系运算符
等于运算符【==】、不等于运算符【!=】 、关系运算符【< > <=> = 】
逻辑与运算符【&&】、逻辑或运算符【||】、逻辑非运算符【!】
位运算符
按位与运算符【&】、按位异或运算符【^】 、按位或运算符【|】、左移动运算符【<<】、右移动运算符【>>】
赋值运算符 赋值运算符【= += -= *= /= %= >>= <<= &= |= ^=】 逗号运算符 【,】
3.3 三目运算符
对三个变量进行操作;
b ? x : y
4、重载++和重载- -
class Test { public: Test(int t = 0) :_t(t) {} Test& operator++() // 前置++ { ++_t; return *this; } Test operator++(int)// 后置++ { Test temp = *this; ++_t; return temp; } Test& operator--()// 前置-- { --_t; return *this; } Test operator--(int)// 后置-- { Test temp = *this; --_t; return temp; } int Result() { return _t; } private: int _t; };
这篇关于【C++】双目运算符+=的重载(包含友元)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-11国产医疗级心电ECG采集处理模块
- 2025-01-10Rakuten 乐天积分系统从 Cassandra 到 TiDB 的选型与实战
- 2025-01-09CMS内容管理系统是什么?如何选择适合你的平台?
- 2025-01-08CCPM如何缩短项目周期并降低风险?
- 2025-01-08Omnivore 替代品 Readeck 安装与使用教程
- 2025-01-07Cursor 收费太贵?3分钟教你接入超低价 DeepSeek-V3,代码质量逼近 Claude 3.5
- 2025-01-06PingCAP 连续两年入选 Gartner 云数据库管理系统魔力象限“荣誉提及”
- 2025-01-05Easysearch 可搜索快照功能,看这篇就够了
- 2025-01-04BOT+EPC模式在基础设施项目中的应用与优势
- 2025-01-03用LangChain构建会检索和搜索的智能聊天机器人指南