当前位置:网站首页 > 技术博客 > 正文

运算符重载方法



在前缀递增时,若想要实现 这种连续自加,就要返回其对象的引用,这样才能保证操作的是同一块内存空间,否则就只是单纯的赋值操作,原来的对象并未被修改。

#include <iostream> using namespace std; class Complex { private: double i; double j; public: Complex(int = 0, int = 0); void display(); Complex& operator ++();//前缀自增 Complex operator ++(int);//后缀自增,参数需要加int }; Complex::Complex(int a, int b) { i = a; j = b; } void Complex::display() { cout << "i="<< i <<" j="<< j << endl; } Complex& Complex::operator ++() { ++i; ++j; return *this; } Complex Complex::operator ++(int) { Complex temp = *this; ++* this; return temp; } int main() { Complex comnum1(2, 2), comnum2, comnum3; cout << "自增计算前:" << endl; cout << "comnum1:"; comnum1.display(); cout << "comnum2:"; comnum2.display(); cout << "comnum3:"; comnum3.display(); cout << endl; cout << "前缀自增计算后:" << endl; comnum2 = ++comnum1; cout << "comnum1:"; comnum1.display(); cout << "comnum2:"; comnum2.display(); cout << endl; cout << "后缀自增计算后:" << endl; comnum3 = comnum1++; cout << "comnum1:"; comnum1.display(); cout << "comnum3:"; comnum3.display(); cout << "前缀递增加引用是为了连续自加++(++a)" << endl; Complex comcum4; ++(++comcum4); cout << "comcum4:"; comcum4.display(); return 0; }

  • 上一篇: flowable入门教程
  • 下一篇: jinja2中文手册
  • 版权声明


    相关文章:

  • flowable入门教程2025-09-17 17:30:01
  • date_add用法2025-09-17 17:30:01
  • 安装软件提示25032025-09-17 17:30:01
  • 什么事桥接模式2025-09-17 17:30:01
  • c语言输出json格式2025-09-17 17:30:01
  • jinja2中文手册2025-09-17 17:30:01
  • c语言双向链表程序实验报告2025-09-17 17:30:01
  • 游戏测试的软件叫什么2025-09-17 17:30:01
  • visual develop2025-09-17 17:30:01
  • python左移动运算符2025-09-17 17:30:01