一个C++代码问题。

定义一个日期类Date,包括私有的数据成员年(year)、月(month)、日(day),公有的成员函数包括:(1)构造函数(2)拷贝构造函数(3)析构函数(4)输出日期show(格式为年-月-日)(5)比较两个日期类对象compare(用1,0,-1分别表示大于、等于和小于)。在主函数中定义日期类的数组和指针进行简单测试。

注意对象数组的初始化方法,对象数组中元素(对象)的引用以及对象指针访问类的成员的方法。


#include <iostream>
using namespace std;

class Date
{
private:
    int year;
    int month;
    int day;

public:
    Date(int _year, int _month, int _day)
    {
        year = _year;
        month = _month;
        day = _day;
    }
    ~Date(){}
    void show()
    {
        cout << year << "-" << month << "-" << day << endl;
    }
    int compare(Date d)
    {
        int v1 = year *1000 + month *100 + day;
        int v2 = d.year *1000 + d.month *100 + d.day;
        if (v1==v2)
            return 0;
        else if (v1<v2)
            return -1;
        else
            return 1;
    }
};

int main()
{
    Date date1(1999, 1, 3);
    Date date2(1996, 11, 3);
    date1.show();
    date2.show();
    cout << date1.compare(date2) << endl;
}