C++ 定义一个日期类

//定义一个日期类
#include <iostream>
class Date
{
private :
    int year,month,day;
public:
    void set(int year, int month, int day);
    bool fun();
    void show();
    
};
//Date 类中成员函数的实现(可以使用默认值)
void Date::set(int _year, int _month, int _day)
{
    year=_year;
    month=_month;
    day=_day;
}
bool Date::fun()
{
    if ((year%4==0&&year%100!=0)||(year%400==0)) {
        return true;
    }
    else
        return false;
}
void Date::show()
{
    std::cout<<year<<"-"<<month<<"-"<<day<<std::endl;
}
int main(int argc, const char * argv[])
{
    Date newDate;
    newDate.set(2013, 11, 18);
    newDate.show();
}

好的,我可以为您设计一个日期类date,实现日期的基本功能。 首先,我们需要确定日期类的属性,即年、月、日。因此,我们可以在类的私有部分定义三个整型变量,分别表示年、月、日。同时,我们还需要定义一些成员函数,来实现对日期的各种操作。 下面是一个简单的日期类的示例代码: ```cpp class Date { private: int year, month, day; public: // 构造函数 Date(int y, int m, int d) { year = y; month = m; day = d; } // 获取日期的年份 int getYear() const { return year; } // 获取日期的月份 int getMonth() const { return month; } // 获取日期的日份 int getDay() const { return day; } // 判断是否为闰年 bool isLeapYear() const { if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) return true; else return false; } // 获取当前月份的天数 int getDaysOfMonth() const { int days[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; if (isLeapYear() && month == 2) return 29; else return days[month - 1]; } // 判断日期是否合法 bool isValid() const { if (year < 0 || month < 1 || month > 12 || day < 1 || day > getDaysOfMonth()) return false; else return true; } // 重载运算符"==",判断两个日期是否相等 bool operator==(const Date& d) const { return (year == d.year && month == d.month && day == d.day); } // 重载运算符"<",判断当前日期是否小于另一个日期 bool operator<(const Date& d) const { if (year < d.year) return true; else if (year > d.year) return false; else if (month < d.month) return true; else if (month > d.month) return false; else if (day < d.day) return true; else return false; } // 增加一天 void increaseOneDay() { day++; if (day > getDaysOfMonth()) { day = 1; month++; if (month > 12) { month = 1; year++; } } } // 输出日期 void print() const { cout << year << "-" << setw(2) << setfill('0') << month << "-" << setw(2) << setfill('0') << day; } }; ``` 这个日期类中包含了获取年、月、日、判断是否为闰年、获取当前月份的天数、判断日期是否合法、重载运算符等常用功能,还有增加一天、输出日期等操作。您可以根据自己的需求进行扩展和修改。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值