对C++重载、判断部分的知识进行梳理
目录
一、bool operator>(const Date& d) const【bool引导的结构体内嵌比较函数】
二、friend ostream& operator<<(ostream& _cout, const Date& d)
问题来源于下面这个日期类
class Date
{
public:
Date(int year = 1900, int month = 1, int day = 1)
: _year(year)
, _month(month)
, _day(day)
{}
bool operator<(const Date& d)const
{
return (_year < d._year) ||
(_year == d._year && _month < d._month) ||
(_year == d._year && _month == d._month && _day < d._day);
}
bool operator>(const Date& d)const
{
return (_year > d._year) ||
(_year == d._year && _month > d._month) ||
(_year == d._year && _month == d._month && _day > d._day);
}
friend ostream& operator<<(ostream& _cout, const Date& d)
{
_cout << d._year << "-" << d._month << "-" << d._day;
return _cout;
}
private:
int _year;
int _month;
int _day;
};
int main()
{
Date date;
cout<<date<<endl;
}
一、bool operator>(const Date& d) const【bool引导的结构体内嵌比较函数】
1.代码整体含义
我们可以截取一段代码进行解析
b