带日期带时区时钟类:(指针对象)为了计算方便,每个时区的时差按1小时计算;第一个钟总是显示北京时间,利用系统时间获取当前北京时间;其他时区的时间根据与北京时间的时差来计算;定义一个日期类和时钟类,并在主函数中定义一个指针对象,设置该对象的时间,并显示出来。请完成主函数内容:#include
#include
using namespace std;class Date //日期类{ int year; int month; int day;public:void SetDay(int NewY, int NewM, int NewD) //设置日期{ year= NewY; month=NewM; day=NewD;}int Get_Y() {return year;} //获得时间的年份int Get_M() {return month;}//获得时间的月份int Get_D() {return day;}//获得时间的日期void Set_D(int d) { day=d; } //设置时间的日期void ShowDay(int &NewY,int &NewM,int &NewD) ////获得时间的年月日{ NewY= year; NewM=month; NewD=day; }};class Clock//时钟类的声明(组合类){ public://外部接口,公有成员函数void SetTime(int z1,int NewH, int NewM, int NewS,Date d1);//根据参数设置时间int Get_H() {return hp;} //获得小时int Get_M() {return mp;}//获得分钟int Get_S() {return sp;}//获得秒Date Get_Day() {return d;}//获得日期void Set_Day(int d1) {d.Set_D(d1);}//设置时间的日期void SetTime() //设置默认时间 { SYSTEMTIME sys; //系统时间 GetLocalTime( &sys ); //获得本机器的当前时间 hp=sys.wHour; //设置时间为本机器的当前时间的时数 mp=sys.wMinute;//设置时间为本机器的当前时间的分钟 sp=sys.wSecond;//设置时间为本机器的当前时间的秒数 z=8; //设置时间的时区为 d.SetDay(sys.wYear,sys.wMonth,sys.wDay); //设置时间的当期日期 }void SetHour(int h){hp=h;}//设置时间的当期时数int GetZone();//获得时间的当前时区void DispTime();//显示时间void AddOneS()//走动的时间函数 {sp++;if(sp>=60) { mp++;sp=0;if(mp>=60){mp=0;hp++;if(hp>=24){ hp=0;}} } } private://私有数据成员int hp,mp,sp,z;Date d;};//时钟类成员函数的具体实现void Clock::SetTime(int z1,int NewH, int NewM, int NewS,Date d1){hp=NewH;mp=NewM;sp=NewS;z=z1;d.SetDay(d1.Get_Y(),d1.Get_M(),d1.Get_D() );}//获取时区int Clock::GetZone(){ return z; }void Clock::DispTime(){ char a[25][20]={"伦敦","巴黎","开罗","莫斯科","第比利斯","新德里","阿拉木图","曼谷","北京","东京","悉尼","马加丹","惠灵顿","埃尼维托克岛","中途岛","夏威夷","阿拉斯加","洛杉矶","亚利桑那","亚特兰大","纽约","加拉加斯","里约热内卢","中大西洋","佛得角群岛"}; //全球十二个区对应的城市时间 int y1,m1,d1; if(z<0) z=12+(12+z+1); //对西区的城市对应数组的下标的处理 d.ShowDay(y1,m1,d1); cout<<" **"<
<<"时间**\n";//输出对应时区的城市时间cout<<"日期: "<
<<"年"<
<<"月"<
<<" 日 "<
<<"时间: "<
<<":"<
<<":"<
<
<<"******************************\n";cout<
<
A.
int main() { Clock myClock; //定义对象myClock Clock *p; p= &myClock; p->SetTime(); //设置时间为默认值 p->DispTime(); //显示时间 system("pause"); system("CLS"); while(1) { cout< cout< p->DispTime(); p->AddOneS(); Sleep(1000); system("CLS"); } }
B.
int main() { Clock myClock; //定义对象myClock Clock *p; p= myClock; p->SetTime(); //设置时间为默认值 p->DispTime(); //显示时间 system("pause"); system("CLS"); while(1) { cout< cout< p->DispTime(); p->AddOneS(); Sleep(1000); system("CLS"); } }
C.
int main() { Clock *p; p->SetTime(); //设置时间为默认值 p->DispTime(); //显示时间 system("pause"); system("CLS"); while(1) { cout< cout< p->DispTime(); p->AddOneS(); Sleep(1000); system("CLS"); } }
D.
int main() { Clock myClock; //定义对象myClock Clock *p; p= &myClock; p.SetTime(); //设置时间为默认值 p.DispTime(); //显示时间 system("pause"); system("CLS"); while(1) { cout< cout< p.DispTime(); p.AddOneS(); Sleep(1000); system("CLS"); } }