当前位置: 首页 > news >正文

C++ 递增/递减运算符重载

作用: 通过重载递增运算符,实现自己的整型数据

总结: 前置递增返回引用,后置递增返回值

递增

#include<iostream>
using namespace std;class MyInteger {
private:int m_Num = 0;
public:friend ostream& operator<<(ostream& out, MyInteger myint);MyInteger() {m_Num = 0;}//重载前置++运算符  返回引用是一直对一个数据进行递增MyInteger& operator++() {//先++m_Num++;//再返回return *this;}//重载后置置++运算符MyInteger& operator++(int) {  //int代表占位参数,可以用于区分前置和后置递增//先返回MyInteger temp = *this; //记录当前本身的值,然后让本身的值+1,但是返回的是以前的值,达到先返回后++//再++m_Num++;return temp;}
};//重载左运算符
ostream& operator<<(ostream& out, MyInteger myint) {out << myint.m_Num;return out;
}void test01() {MyInteger myInt;cout << ++myInt << endl;cout << myInt << endl;
}void test02() {MyInteger myInt;cout << myInt++ << endl;cout << myInt << endl;
}int main()
{test01();test02();return 0;
}

递减

#include<iostream>
using namespace std;class MyInteger {
private:int m_num;
public:MyInteger() {m_num = 0;}//!!!!!!! 必须用引用MyInteger &operator--() {//先++后运算m_num--;return *this;}//!!!!!!! 必须用引用MyInteger &operator--(int) {//先传值后++MyInteger temp = *this;m_num--;return temp;}friend ostream& operator<<(ostream& out, MyInteger myint);
};//重载左运算符
ostream& operator<<(ostream& out, MyInteger myint) {out << myint.m_num;return out;
}void test01() {MyInteger myInt;cout << --(--myInt) << endl;cout << myInt << endl;
}void test02() {MyInteger myInt;cout << myInt-- << endl;cout << myInt << endl;
}int main()
{test01();test02();return 0;
}
http://www.lryc.cn/news/234987.html

相关文章:

  • Android 13.0 无源码app增加授予相关权限
  • CI/CD相关概念学习
  • 一、认识STM32
  • vue-router的编程式导航有哪些方法?
  • 连接服务器上mysql数据库
  • IDEA 中设置 File Header 以及自定义类、方法注释模板的方法
  • 【数据结构】图的存储结构及实现(邻接表和十字链表)
  • ROS Turtlebot3多机器人编队导航仿真
  • 端口配置错误,导致RabbitMq启动报错
  • <MySQL> 什么是JDBC?如何使用JDBC进行编程?
  • 基于安卓android微信小程序的装修家装小程序
  • 基于SSM的小区物业管理系统设计与实现
  • c语言免杀火绒
  • MyBatis #{} 和 ${} 的区别
  • 计算机科学速成课
  • 基于单片机的汽车安全气囊系统故障仿真设计
  • JPA整合Sqlite解决Dialect报错问题, 最新版Hibernate6
  • 算法通关村第十关-青铜挑战快速排序
  • whisper large-v3 模型文件下载链接
  • Ajax 之XMLHttpRequest讲解
  • 小程序里面循环使用ref的话获取不到
  • PY32F002B从压缩包到实现串口printf输出
  • 音视频项目—基于FFmpeg和SDL的音视频播放器解析(八)
  • CorelDRAW2024最新版本的图形设计软件
  • 【作业】操作系统实验一:进程和线程
  • Linux 环境删除Conda
  • uni-app(1)pages. json和tabBar
  • window系统vscode 编译wvp前端代码
  • 获取虎牙直播源
  • Halcon (2):Halcon基础知识