求教 简单的C++题目 30分

来源:百度知道 编辑:UC知道 时间:2024/05/25 01:34:56
定义一个名为Date的类,用于输入并验证日期,类中的数据成员和成员函数应满足以下规则;在主函数中编写相应代码验证这些规则是否正确地实现了;并用Debug功能仔细体会程序的运行过程:
1)日期包括年(year)、月(month)、日(day),均为整型数据,以及一个布尔数据成员pass用来判断输入日期是否正确。
2)布尔类型private成员函数checkFormat(),有一个字符串引用形参,验证读入的日期格式是否正确(yyyy:mm:dd格式)?
3)void类型private成员函数validate(),没有形参。判断输入的日期是否合法。
4)默认构造函数,没有形参,将year,month,day分别初始化为2006,1,1;在构造函数中要调用validate()。
5)定义拷贝构造函数。
6)定义类型转换构造函数,能从字符串转换成Date对象。
7)使用带默认参数的构造函数,三个整形形参int y,int m=2,int d=29,分别对year,month,day赋值;注意要调用validate()验证。
8)void类型public成员函数setDate(),有一个字符串引用形参,负责设置新日期,首先调用checkFormat判断日期数据格式是否正确,如正确,继续调用validate()验证输入日期。
9)void类型public成员函数printDate(),没有形参,根据pass值决定是否打印设置的日期,如果打印,要按照“yyyy年mm月dd日的格式”。
谢谢...

#include"iostream"
class Date{
public:
Date(int y,int m,int d);//带有参数的构造函数
void setDate(int y,int m,int d);
void printDate();
private:
int year;
int month;
int day;
};
Date::Date(int y,int m,int d)
{ year=y;
month=m;
day=d;
}
void Date::setDate(int y,int m,int d)
{ year=y;
month=m;
day=d;
}
inline void Date::printDate()
{
cout<<year<<"."<<month<<"."<<day<<endl;
}
void main()
{
Date date1;
date1.setDate(2007,4,11)
date1.printDate();
}