各位好友, 欢迎来到本期博客 !本期继续推进, 章节模块下的, 赋值运算符重载函数 ! 下面 开战 : ---前置++ 与后置++ --重载 : ----以下是探究过程 : #include iostremusing std::cout;usi
各位好友, 欢迎来到本期博客 !本期继续推进, 章节模块下的, 赋值运算符重载函数 !
下面 开战 :>
--->前置++ 与后置++ -->重载 :>
---->以下是探究过程 :>
#include <iostrem>
using std::cout;
using std::endl;
class Date
{
public:
Date(int year = 2018, int month = 6, int day = 7)
{
_year = year;
_month = month;
_day = day;
}
// 前置 ++
Date& operator++()
{
_day += 1;
return *this;
}
// 后置++
Date operator++(int)
{
Date tamp(*this);
_day += 1;
return ;
}
void Print()
{
cout << _year << " - " << _month << " - " << _day << endl << endl;
}
private:
int _year;
int _month;
int _day;
};
int main()
{
Date d;
Date d1(2023, 5, 7);
d = d1++;
d.Print();
d = ++d1;
d.Print();
return 0;
}
为了方便好友们,有更好地观感体验, 更好地理解 !现 附上有彩色的代码图样 :>
---->以下是运行结果 :>
各位好友, 现 对上述代码,一律采用图解形式 --->进行解析 :>
---->请注意 -->注释部分 :>
(1)前置++
(2)后置++
各位好友,还需有一点注意 :>
后置++ --->进行拷贝,过程中 会存在 两次的拷贝过程 !
很多 程序员都会说,前置++ --->稍微更加好一点儿 !