重载_,“+, -, --, ++”运算符
2016-11-26 19:28
197 查看
#include<iostream> using namespace std; //以+和++为例,-和--同理 class Complex{ private: int fro; int fai; public: Complex (){}; Complex(int a,int b):fro(a),fai(b){ }; Complex operator+ (const Complex& x) const {return Complex(fro+x.fro,fai+x.fai);}; Complex & operator++ (); Complex operator++ (int); void display(){cout<<fro<<" "<<fai<<endl;}; }; // 前置++,“加完再用”,所以返回的是引用 Complex& Complex:: operator++ () { fro++; fai++; return *this; } // 后置++,“用完再加”,所以返回类。 // 事实上,不是“用完在加”,而是自加运算后时候原来的值,从下面代码可看出。 Complex Complex:: operator++ (int){ Complex old; // 保存原来的对象 old=*this; ++(*this); // 这里可以用一般方法替换。而如果不是一般情况的自加运算,那么最好调用重置后的++运算符,这样做的原因是可以减少重复的代码。 return old; } // test_main int main(){ Complex c1(1,2); Complex c2(2,3); Complex c=c1+c2; c.display(); c++; c.display(); return 0; }
相关文章推荐
- C++: 重载前缀运算符与重载后缀运算符(以++为例)
- 重载前置,后置(自增运算符 ++ 和自减运算符 --)
- 重载前置,后置(自增运算符 ++ 和自减运算符 --)
- 重载前置,后置(自增运算符 ++ 和自减运算符 --)
- 关于c++运算符重载 + 和 ++ 运算符 【2013.10.18】
- 详解C++中的函数调用和下标以及成员访问运算符的重载
- 赋值=, 逗号, ++以及括号运算符优先级例子
- 重载输入输出运算符
- 函数 运算符 重载
- C++重载++ 如何区分“++”重载的前置与后置
- C++之双目/单目等运算符的重载
- 第九周实验报告(任务一)【Complex类中《和》运算符的重载】
- 第九周任务一(定义Complex类中的<<和>>运算符的重载,实现输入和输出)
- std::vector::iterator重载了下面哪些运算符
- C++中重载箭头运算符详解
- 不能重载的运算符
- 插入运算符“<<”(输入)的重载
- 操作符(运算符)重载 或者叫 二元运算符 operator + 与 转换式操作符 implicit operator explicit operator
- C++编程教程_箭头(->)运算符的重载
- PAT (Advanced Level)1025. PAT Ranking (25) 运算符的重载 vector struct