两个函数分别是前缀自增运算符 ++ 和后缀自增运算符 ++ 的重载版本。它们之间的区别在于返回值和参数。
++:
++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