L. Date 类的设计与实现(3.15)

传统 1000 ms 256 MiB
标准 IO
文本比较

题目描述

创建一个名为 Date(日期)的类,包含以下三个数据成员:

  • 月(month,类型:int
  • 日(day,类型:int
  • 年(year,类型:int

该类需要提供以下功能:

  1. 一个构造函数,用于初始化这三个数据成员。如果月的值不在1-12之间,则将月设置为1。
  2. 对每个数据成员提供 setget 函数。
  3. 提供一个成员函数 displayDate,显示用正斜线(/)分隔的月、日和年的值。
  4. 编写一个测试程序,演示 Date 类的功能,特别是对月的校验功能。

输入格式

输入格式

输入包含两行,每行表示一个日期,格式为:

<month> <day> <year>

  • month 是一个整数,表示月份。
  • day 是一个整数,表示日期。
  • year 是一个整数,表示年份。

输出格式

程序应按照以下格式输出:

  1. 输出每个日期的初始值,格式为: Date <index>: <month>/<day>/<year> 其中 <index> 是日期的编号(从1开始)。
  2. 如果输入的月不在1-12之间,应自动调整为1。

样例

样例输入

15 2 2023
11 28 2020

样例输出

Date 1: 1/2/2023
Date 2: 11/28/2020

数据范围与提示

数据范围

  • 月:整数,可能超出1-12范围。
  • 日:1-31之间的整数。
  • 年:2000-2025之间的整数。

提示

  1. Date 类中声明三个数据成员。

  2. 构造函数需要包括三个形参,函数头如下:

    Date(int month, int day, int year);
    

    分别用三个参数初始化三个数据成员,注意月份需要校验。

  3. 为每个数据成员分别声明 setget 函数。

  4. 主函数中创建 Date 对象时,必须向构造函数传递与声明的参数相匹配的实参。例如:

    Date date1(15, 2, 2023);
    
  5. 通过 displayDate 函数显示日期时,应确保月份在1-12之间。