目录
六、日期类的实现(单独一篇文章写)Date 日期类的实现(c++)-CSDN博客
一、类的6个默认成员函数
默认成员函数:用户没有显式实现,编译器会生成的成员函数称为默认成员函数。
当类中什么都不写,简称为空类
但不代表这个类中什么都没有,任何类在什么都不写的时候,编译器自动生成一下6个默认成员函数。
二、构造函数
1.概念
class Date
{
public:
void Init(int year, int month, int day )
{
_year = year;
_month = month;
_day = day;
}
private:
int _year;
int _month;
int _day;
};
int main()
{
Date d1;
d1.Init(2024, 10, 29);
return 0;
}
2.特性
三、析构函数
1.概念
2.特性
四、拷贝构造函数
1.概念
2.特性
五、赋值运算符重载
1.运算符重载
实现一个日期大小的比较:
要注意的是,日期的比较还需考虑多方面因素:
bool operator<(const Date& d2)
{
if (_year < d2._year)
{
return true;
}
else if (_year == d2._year)
{
if (_month < d2._month)
{
return true;
}
else if (_month == d2._month)
{
return _day < d2._day;
}
}
return false;
}
2.赋值运算符重载(也是完成对象的拷贝)
3.前置++和后置++重载(--类似)
//++d ->d.operator++()
Date& Date::operator++()
{
*this += 1;
return *this;
}
//d++,返回++前的值 ->d.operator++(0)(传啥都行,只是为了匹配int)
//为了和前置++区分,强行增加一个int形参,形成重载区分
Date Date::operator++(int)
{
Date tmp(*this);
*this += 1;
return tmp;
}
六、日期类的实现(单独一篇文章写)Date 日期类的实现(c++)-CSDN博客
这写个重点