重载 重载递增递和减运算符
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.重载++和–运算符 自增++和自减–都是一元运算符,它的前置形式和后置形式都可以被重载.请看下面的例子: #include "iostream"#include "i ...
- C++ 重载自增和自减运算符
自增++和自减–都是一元运算符,它的前置形式和后置形式都可以被重载.请看下面的例子: #include <iostream> #include <iomanip> using ...
- c++重载自增与自减运算符(前置与后置)
运算符重载 要点: 1. 后置的运算符要带一个整型参数(用来与前置运算符区分开). 2.后置的返回值不要用引用(否则会因为是局部变量导致返回为一个不存在的值). 3.再在置中要定义一个临时变量来返回之 ...
- 运算符重载(加减运算符、前置加加(减减)后置加加(减减)运算符、赋值运算符、输入输出运算符、关系运算符、函数调用)
编译器对于一个类会默认生成以几种函数: 1.默认构造函数(空形参,空函数体) 2.默认拷贝构造函数(浅拷贝,也叫值拷贝.字节拷贝) 3.析构函数(空形参,空函数体.析构函数要求形参列表必须是空的,所以 ...
- 程序设计实习MOOC/自增和自减运算符的重载
自增和自减运算符的重载 问题 编写CDemo类,使得下面程序可以正常运行 int main(){CDemo d(5);cout << (d++) << "," ...
- c++ pair 加减运算符重载
前言 c++ pair对象没有定义加减运算符,每次相加减太麻烦,写一个放在这里,做题需要时复制一个. 另外,pari对象是可以直接使用比较运算符<, <=, >, >=, == ...
- 重载输入cin和输出cout运算符
1.C++中重载输入cin和输出cout运算符 在C++中,标准库本身已经对左移运算符<<和右移运算符>>分别进行了重载,使其能够用于不同数据的输入输出,但是输入输出的对象只能 ...
- C语言中能运算符重载吗,C++语言中什么运算符不能重载
2016-09-01 回答 c语言没有重载的概念,重载是c++的内容 c++运算符: 算术运算符:+,-,*,/,%,++,--; 位操作运算符:&,|,~,^(位异或),<<(左 ...
- C++重学之路 4 控制语句、赋值、自增和自减运算符
4 控制语句.赋值.自增和自减运算符 1 算法 2 伪代码 3 控制结构 C++中的选择语句 C++中的循环语句 4 if选择语句 5 if...else双路选择语句 条件运算符(?:) 嵌套的if. ...
- python自加自减_Java自增和自减运算符(++和--)
在对一个变量做加 1 或减 1 处理时,可以使用自增运算符 ++ 或自减运算 --.++ 或 -- 是单目运算符,放在操作数的前面或后面都是允许的.++ 与 -- 的作用是使变量的值增 1 或减 1. ...
最新文章
- python语音播报计算结果_Python 天气查询到实现语音播放
- 升级bios_ThinkPad如何升级BIOS?我来教你!
- 矩阵元素求积及其矩阵元素的差分
- 部署xhprof监控php效率(linux版本)
- python3:语法变动 及新特性
- sklearn随机森林概述
- linux常用命令实战
- java char i=2+#039;2#039;;_图说String(三)String中#039;+#039;和StringBuilder的区别
- 数据库(第一范式,第二范式,第三范式)
- 贝叶斯方法学习笔记(一)
- [状压dp] 玉米田(状压dp)
- 虚拟机桥接模式下的网络设置
- android解决方法数超过65536问题,(满则溢)Android AS打包提示方法数超65536的解决方法...
- 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。
- java实训意义_java实习心得体会
- java jtextarea.setfont,Java JTextArea用法
- Windows下编译LibreCAD
- 【机器学习】LP距离、欧式距离、曼哈顿距离、切比雪夫距离
- 建模师是个好职业吗?
- EZ-USB FX2 LP CY7C68013A 开发指南(1)--基本概念
热门文章
- Oracle DB_LINK如何使用
- python带cookie登录
- Recordia for Mac - 音频无损录制工具「M1兼容」
- M1支持 Accusonus ERA Bundle for mac(音频降噪消除去混音插件包)
- Ubuntu 18.04 通过 ufw route 配置网关服务器
- 第九章:SpringCloud Feign几个坑
- 移动商城第十四篇【收货地址查询、添加、更新】
- SQL中的join总结
- MongoDB 3.2+ 安全授权登录访问控制
- 【风马一族_php】NO2_php基础知识