C++双目运算符+=的重载详解
1、重载12345678910111213141516171819202122232425262728293031classComplex{public:Complex(inta,intb): _a(a), _b(b){}Complex operator (Complex other){this-_a other._a;this-_b other._b;return*this;}voidprint(){cout _a endl;cout _b endl;}private:int_a;int_b;};voidTestLei(){inta 10, b 20, c 30;Complex c1(10, 20);Complex c2(20, 30);Complex c3(30, 40);c1 c2 c3;c1.print();}2、friend重载12345678910111213141516171819202122232425262728293031classComplex{public:Complex(inta,intb): _a(a), _b(b){}friendComplex operator (Complex c1, Complex c2){c1._a c2._a;c1._b c2._b;returnc1;}voidprint(){cout _a endl;cout _b endl;}private:int_a;int_b;};voidTestFriend(){inta 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 三目运算符对三个变量进行操作1b ? x : y4、重载和重载- -1234567891011121314151617181920212223242526272829303132333435classTest{public:Test(intt 0):_t(t){}Test operator()// 前置{_t;return*this;}Test operator(int)// 后置{Test temp *this;_t;returntemp;}Test operator--()// 前置--{--_t;return*this;}Test operator--(int)// 后置--{Test temp *this;--_t;returntemp;}intResult(){return_t;}private:int_t;};总结本篇文章就到这里了希望能够给你带来帮助