平时++/–这两个单目运算符基本都会用在for循环,之前理解他们的区别只是:
1、++i:先++,再循环
2、i++:先循环,再++
其实,这种说话是有道理的,但是很模糊,直到学到<单目运算符重载为成员函数>的时候,我才真正的搞明白,不禁感叹:C++机制🐂🍺!!!
举个完整的例子🌰:《将前置++和后置++重载为时钟类的成员函数》
.hpp文件:
#ifndef ________hpp
#define ________hpp
#include <iostream>
using namespace std;
class Clock {//时钟类
int m_hour, m_minute, m_second;
public:
Clock(int, int, int);//构造函数初始化参数
Clock& operator ++();//前置++
Clock operator ++(int);//后置++
void ShowTime()const;//显示函数的声明
};
#endif /* ________hpp */
.cpp文件
#include "单目运算符重载.hpp"
Clock::Clock(int h, int m, int s){//构造函数初始化对应参数
if (h >= 0 && h < 24 && m >= 0 && m < 60