两个函数分别是前缀自增运算符 ++
和后缀自增运算符 ++
的重载版本。它们之间的区别在于返回值和参数。
++
:
++date
,它会首先自增 date
,然后返回自增后的值。date
首先被增加了1,然后返回增加后的值。 - Date operator++(Date &date)
- {
- date = date + 1; // 增加日期
- return date; // 返回增加后的日期
- }
使用方式示例:
- Date myDate;
- ++myDate; // 前缀自增,日期会增加1
后缀自增运算符 ++
:
date++
,它会首先返回原始的 date
值,然后再自增 date
。date
首先被增加了1,但返回的是未增加前的日期值。 - Date operator++(Date &date, int)
- {
- Date originalDate = date; // 保存原始日期
- date = date + 1; // 增加日期
- return originalDate; // 返回原始日期
- }
- Date myDate;
- Date originalDate = myDate++; // 后缀自增,originalDate 存储的是未增加前的日期值,myDate 增加了1