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

c++ 学习 之 运算符重载 之 前置++和后置++

前言

	int a=1;cout << ++(++a) << endl;cout << a << endl;int b=1;cout << (b++)++ << endl;  // 这个是错误的cout << b << endl;

上面样例中,
前置 ++ 返回的是引用,所以a 的值变成了3
后置 ++ 返回的不是可以改变的左值,所以有问题

正文

我们来看看下面的学习代码

#define CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;class MyInterger
{friend ostream& operator<<(ostream& cout, MyInterger& p);
public:MyInterger(){m_Num = 10;}// 前置++ 运算符重置MyInterger& operator++(){m_Num++;return *this;}// 后置 ++ 运算符重置// 返回值不能作为重载的区分条件MyInterger& operator++(int)  // int 代表一个占位参数,用于区分前置和后置++{// 先记录当时的结果MyInterger* tmp = new MyInterger(*this); // 在堆上分配一个 MyInterger 对象的副本// 后 递增m_Num++;// 最后将记录结果做返回return *tmp;}private:int m_Num;
};ostream& operator<<(ostream& cout, MyInterger& p)
{cout << p.m_Num;return cout;
}void test()
{MyInterger myint;cout << ++(++myint) << endl;cout << myint++ << endl;
}int main()
{test();return 0;
}
http://www.lryc.cn/news/177573.html

相关文章:

  • K8s Kubelet 垃圾回收机制
  • docker安装高斯数据库openGauss数据库
  • 新手学习:ArcGIS 提取SHP 路网数据、节点
  • 性能测试 —— Tomcat监控与调优:Jconsole监控
  • 刷题笔记26——图论二分图判定
  • 网站整站优化-网站整站优化工具
  • 冲刺十五届蓝桥杯P0001阶乘求和
  • c++ 学习 之 运算符重载
  • 各种数据库表名长度限制整理
  • Go 里的超时控制
  • 一文彻底搞清楚Spark Schema
  • Nginx多出口IP解决代理端口数量限制,CentOS安装Nginx并开启https2.0
  • SpringBoot项目(百度AI整合)——如何在Springboot中使用语音文件识别 ffmpeg的安装和使用
  • 探索古彝文AI识别技术:助力中国传统文化的传承与发扬
  • mysql面试题2:说一说MySQL的架构设计?一条 MySQL 语句执行的步骤?
  • UPnP协议和SSDP协议
  • notepad++配置python2环境
  • 在ThinkAdmin中弹出层关闭后回调
  • vue3 和vue2 的比较
  • 算法通过村第八关-树(深度优先)黄金笔记|寻找祖先
  • postgresql|数据库|数据库测试工具pgbench之使用
  • 代码随想录Day51 | 309.最佳买卖股票时机含冷冻期
  • libopenssl 实现私钥加密公钥解密
  • 代码随想录 Day - 51|#309 最佳买卖股票时机含冷冻期|#714 买卖股票的最佳时机含手续费
  • .net 使用IL生成代理类实现AOP对比Java Spring Boot的AOP
  • 美容店预约小程序搭建流程
  • ppt 作图 如何生成eps格式
  • 渗透测试中的前端调试(上)
  • 跨境电商引流之Reddit营销,入门保姆级攻略
  • Linux下虚拟网卡的基本命令