class Rule
{
private:double m_Length;
public:explicit Rule(double lg = 1.0) :m_Length{ lg }{}Rule &operator++();const Rule operator++(int);Rule &operator--();const Rule& operator--(int);void showRuleLength(){cout <<"长度:"<< this->m_Length << endl;}
};inline Rule& Rule::operator++()
{++(this->m_Length);return *this;
}inline const Rule Rule::operator++(int)  //返回常量对象,不允许改变
{Rule rule{*this};     //利用复制构造函数建立对象++*this;          //因为前缀++已经重载了return rule;        //返回对象的副本
}inline Rule& Rule::operator--()
{--(this->m_Length);return (*this);
}inline const Rule& Rule::operator--(int)
{Rule rule(*this);--*this;return rule;
}int main()
{Rule a{ 4.0 };Rule b;b = a++;b.showRuleLength();
}

转载于:https://www.cnblogs.com/yunqie/p/5947083.html

重载 重载递增递和减运算符相关推荐

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

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

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

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

  3. c++重载自增与自减运算符(前置与后置)

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

  4. 运算符重载(加减运算符、前置加加(减减)后置加加(减减)运算符、赋值运算符、输入输出运算符、关系运算符、函数调用)

    编译器对于一个类会默认生成以几种函数: 1.默认构造函数(空形参,空函数体) 2.默认拷贝构造函数(浅拷贝,也叫值拷贝.字节拷贝) 3.析构函数(空形参,空函数体.析构函数要求形参列表必须是空的,所以 ...

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

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

  6. c++ pair 加减运算符重载

    前言 c++ pair对象没有定义加减运算符,每次相加减太麻烦,写一个放在这里,做题需要时复制一个. 另外,pari对象是可以直接使用比较运算符<, <=, >, >=, == ...

  7. 重载输入cin和输出cout运算符

    1.C++中重载输入cin和输出cout运算符 在C++中,标准库本身已经对左移运算符<<和右移运算符>>分别进行了重载,使其能够用于不同数据的输入输出,但是输入输出的对象只能 ...

  8. C语言中能运算符重载吗,C++语言中什么运算符不能重载

    2016-09-01 回答 c语言没有重载的概念,重载是c++的内容 c++运算符: 算术运算符:+,-,*,/,%,++,--; 位操作运算符:&,|,~,^(位异或),<<(左 ...

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

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

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

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

最新文章

  1. python语音播报计算结果_Python 天气查询到实现语音播放
  2. 升级bios_ThinkPad如何升级BIOS?我来教你!
  3. 矩阵元素求积及其矩阵元素的差分
  4. 部署xhprof监控php效率(linux版本)
  5. python3:语法变动 及新特性
  6. sklearn随机森林概述
  7. linux常用命令实战
  8. java char i=2+#039;2#039;;_图说String(三)String中#039;+#039;和StringBuilder的区别
  9. 数据库(第一范式,第二范式,第三范式)
  10. 贝叶斯方法学习笔记(一)
  11. [状压dp] 玉米田(状压dp)
  12. 虚拟机桥接模式下的网络设置
  13. android解决方法数超过65536问题,(满则溢)Android AS打包提示方法数超65536的解决方法...
  14. 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。
  15. java实训意义_java实习心得体会
  16. java jtextarea.setfont,Java JTextArea用法
  17. Windows下编译LibreCAD
  18. 【机器学习】LP距离、欧式距离、曼哈顿距离、切比雪夫距离
  19. 建模师是个好职业吗?
  20. EZ-USB FX2 LP CY7C68013A 开发指南(1)--基本概念

热门文章

  1. Oracle DB_LINK如何使用
  2. python带cookie登录
  3. Recordia for Mac - 音频无损录制工具「M1兼容」
  4. M1支持 Accusonus ERA Bundle for mac(音频降噪消除去混音插件包)
  5. Ubuntu 18.04 通过 ufw route 配置网关服务器
  6. 第九章:SpringCloud Feign几个坑
  7. 移动商城第十四篇【收货地址查询、添加、更新】
  8. SQL中的join总结
  9. MongoDB 3.2+ 安全授权登录访问控制
  10. 【风马一族_php】NO2_php基础知识