运算符重载

要点:
1. 后置的运算符要带一个整型参数(用来与前置运算符区分开)。
2.后置的返回值不要用引用(否则会因为是局部变量导致返回为一个不存在的值)。
3.再在置中要定义一个临时变量来返回之前的值。
4.在后置运算符中可以使用前置运算符来简化。

代码(内有详解)

#include <iostream>
using namespace std;class point {public:point(int x1 = 0, int y1 = 0) {//构造函数,带默认参数x = x1;y = y1;}int getx() {return x;}int gety() {return y;}void show() {//用来及时输出值cout << x << "," << y;}point &operator ++();//重载的运算符point operator ++(int x);point &operator --();point  operator --(int x);private:int x;int y;};point &point:: operator ++() {this->x++;this->y++;return *this;
}point  point::operator ++(int x ) {point p(*this);//定义一个临时的类来保存加之前的值++(*this);//利用了重载的前置运算符return p;
}point &point:: operator --() {this->x--;this->y--;return *this;
}point  point::operator --(int x ) {point p(*this);--(*this);return p;
}int main() {int x, y;cin >> x >> y;point p(x, y);cout << "(" << p.getx() << "," << p.gety() << ")" << endl;cout << "(" ;p++.show();cout << ")" << endl;cout << "(" ;(++p).show() ;cout << ")" << endl;cout << "(" ;p--.show() ;cout << ")" << endl;cout << "(" ;(--p).show() ;//前置必须要加小括号cout << ")" << endl;return 0;
}

c++重载自增与自减运算符(前置与后置)相关推荐

  1. JavaScript运算符:递增递减运算符前置和后置的区别

    从两段代码说起 var num1 = 2; var num2 = 20; var num3 = --num1 + num2; var num4 = num1 + num2; console.log(n ...

  2. 重载自增++和自减--运算符

    1.重载++和–运算符 自增++和自减–都是一元运算符,它的前置形式和后置形式都可以被重载.请看下面的例子: #include "iostream"#include "i ...

  3. C++ 重载自增和自减运算符

    自增++和自减–都是一元运算符,它的前置形式和后置形式都可以被重载.请看下面的例子: #include <iostream> #include <iomanip> using ...

  4. C++回顾之前置++、后置++、不等号!及赋值运算符重载

    运算符重载的主要目的是为了让类对象能像普通数据类型一样能够进行加减乘除,自加自减等操作,非常直观方便.现在来回顾C++的自加减(分前置与后置)以及不等号非运算符,赋值运算符的重载. 1 ++重载 (1 ...

  5. 程序设计实习MOOC/自增和自减运算符的重载

    自增和自减运算符的重载 问题 编写CDemo类,使得下面程序可以正常运行 int main(){CDemo d(5);cout << (d++) << "," ...

  6. python自加自减_Java自增和自减运算符(++和--)

    在对一个变量做加 1 或减 1 处理时,可以使用自增运算符 ++ 或自减运算 --.++ 或 -- 是单目运算符,放在操作数的前面或后面都是允许的.++ 与 -- 的作用是使变量的值增 1 或减 1. ...

  7. 【笔记】Java的运算符(赋值运算符号、一元运算符、算术运算符、关系运算符、自增与自减运算符、逻辑运算符、括号运算符、位运算符、三元(三目)运算符)、表达式与语句:简洁表达式

    文章目录 一.运算符 1.赋值运算符号 2.一元运算符 3.算术运算符 4.关系运算符 5.自增与自减运算符 6.逻辑运算符 7.括号运算符 8.位运算符 左移位: 右移位: 9.三元(三目)运算符 ...

  8. C++重学之路 4 控制语句、赋值、自增和自减运算符

    4 控制语句.赋值.自增和自减运算符 1 算法 2 伪代码 3 控制结构 C++中的选择语句 C++中的循环语句 4 if选择语句 5 if...else双路选择语句 条件运算符(?:) 嵌套的if. ...

  9. C++之运算符重载(前置++和后置++)

    今天在阅读<google c++ 编程风格>的文档的时候,5.10. 前置自增和自减:有一句话引起了我的注意: 对于迭代器和其他模板对象使用前缀形式 (++i) 的自增, 自减运算符.,理 ...

最新文章

  1. 29.进程和线程的区别
  2. 用python画画如何保存_python画图后怎么保存
  3. QQ 相册后台存储架构重构与跨 IDC 容灾实践
  4. python列表换行写入_如何使用Python3中的换行符将列表写入文件
  5. mca终端_MCA的完整形式是什么?
  6. vim插件之cscope的安装与配置
  7. 波音737-800座位图哪个好_「科普」汽车哪个座位才安全?很多人都不知道
  8. Apple新品京东到家、小时购首发开售 超1400家门店“小时送达”
  9. 互联网职场红利真的不多了~
  10. RS码编译matlab仿真2
  11. html5游戏怎么做apk,如何把h5app打包成移动apk
  12. CSS 中文字体格式
  13. Shell编码规范手册(shellcheck错误汇总)
  14. 去中心化金融项目 Bloqboard FAQ
  15. 上传文件资料并生成缩略图
  16. nRF24l01无线传输
  17. 第四次作业 ——吴靖瑜
  18. 中国护照含金量再上升,Qbao Network 教你玩转全球54个国家!(二)
  19. 用 JavaScript 对 JSON 进行模式匹配 (Part 1 - 设计)
  20. 2020年《四川省建设工程工程量清单计价定额》专家讲座圆满结束

热门文章

  1. perl 远程 mysql_写的一个perl脚本,用于发送远程MySQL命令
  2. C语言用数组(顺序表)实现大小固定的队列的方法
  3. uefi和legacy的区别
  4. python opencv cv2.imdecode()函数(从内存中的缓冲区读取图像)
  5. tensorflow dataset_ops shuffle()方法 (随机重新排列此数据集的元素)
  6. python CMAKE的使用
  7. LNMP架构环境搭建之mysql源码编译安装
  8. ubuntu16.04安装UR3/UR5/UR10机械臂的ROS驱动并实现gazebo下Moveit运动规划仿真以及真实UR3机械臂的运动控制(1)
  9. 2021牛客暑期多校训练营8 OR 相加和与和或-dfs判断假设情况是否有矛盾
  10. 计算机与人脑_看!自行车成精了...清华网红自行车:拥有“类人脑芯片”,可无人驾驶...