本来有两个类,Date类和Time类现在要用创建一个组合类DateTime这样为啥不行?
#include
using namespace std;
class Date
{
public:
Date();
bool isLeapYear(int year);
int GetMonthDay(int year, int month);
void ShowDate();
void SetDate(int,int,int);
~Date(){cout<<"goodbye"<private:
int _year;
int _month;
int _day;
};
class Time{
public:
Time();
Time(int NewH,int NewM,int NewS);
void ShowTime();
void ShowTime(int i);
void SetTime(int,int,int);
~Time(){cout<<"GoodBye!"<private:
int Hour,Minute,Second;
};
Time::Time(int NewH,int NewM,int NewS){SetTime(NewH,NewM,NewS);
}
Time::Time(){SetTime(0,0,0);}
void Time::ShowTime()
{
cout<":"<":"<SetTime(int NewH,int NewM,int NewS){
Hour=NewH<0||NewH>23?0:NewH;
Minute=NewM<0||NewM>59?0:NewM;
Second=NewS<0||NewS>59?0:NewS;
}
void Time::ShowTime(int i){
cout<<(Hour>12?Hour-12:Hour)<<":"<<Minute<<":"<<Second;
cout<<(Hour>12?"PM":"AM")<bool Date::isLeapYear(int year) {return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);}
int Date::GetMonthDay(int year, int month)
{
static int monthDayArray[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
if (month == 2 && isLeapYear(year))
return 29;
else
return monthDayArray[month];
}
void Date::ShowDate(){cout<<_year<<"-"<<_month<<"-"<<_day<Date::Date(){_year=_month=_day=0;
}
void Date::SetDate(int year , int month , int day ){if (year >= 1 && month <= 12 && month >= 1 && day <= GetMonthDay(year, month))
{
_year = year;
_month = month;
_day = day;
}
else{cout<<"日期输入有错"<class DateTime{
public:
DateTime(Time a,Time b,Time c,Date x,Date y,Date z);
DateTime(DateTime&) ;
void GetDateTime();
private:
Time Hour,Minute,Second;
Date _year,_month,_day;
};
DateTime::DateTime(Time Hour,Time Minute,Time Second,Date _year,Date _month,Date _day):Hour(a),Minute(b),Second(c),_year(x),_month(y),_day(z){
}
DateTime::DateTime(Time Hour,Time Minute,Time Second,Date _year,Date _month,Date _day):Hour(a),Minute(b),Second(c),_year(x),_month(y),_day(z){
cout<<_year<<"-"<<_month<<"_"<<_day<<" "<<Hour<<":"<<Minute<<":"<<Second<
DateTime::DateTime(Time Hour,Time Minute,Time Second,Date _year,Date _month,Date _day):Hour(a),
你自己看看啊,这Hour赋值的a天上掉下来的么?明明前面写的是Time Hour啊。
列表初始化的参数给的不对,
另外,你没有重载<<,无法直接cout<<Data类型数据。