对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;
}

文章详细介绍了C++中日期类(Date)如何重载比较运算符operator<()和operator>(),以及友元函数operator<<(ostream&,constDate&)的实现。这两个运算符用于比较日期的先后,而友元函数则支持将日期对象输出到标准输出流。const关键字在这里用于确保参数对象不被修改,并且在const成员函数中使用,表示函数不会修改类的任何成员。
最低0.47元/天 解锁文章
4559





