利用c++设计实现一个时间类,满足以下要求:
设计实现一个时间类,满足以下要求:a.时间类中有3个私有数据成员(hour,minute,second)和两个公有成员函数(set_time和print_time)。Se...
设计实现一个时间类,满足以下要求:
a. 时间类中有3个私有数据成员(hour,minute,second)和两个公有成员函数(set_time和print_time)。Set_time根据传递的3个参数为对象设置时间;print_time负责将对象表示的时间显示输出。在主函数中,建立一个时间类的对象,设置时间为9点20分30秒并显示该时间。
b. 使用构造函数代替上面的settime成员函数,并在主函数中使用构造函数设置时间为10点40分50秒,并显示该时间。
c. 重载时间类的构造函数(不带参数)使小时,分,秒均为0。
d. 在时间类的析构函数中输出“goodbye!”
e. 定义拷贝构造函数并调用。 展开
a. 时间类中有3个私有数据成员(hour,minute,second)和两个公有成员函数(set_time和print_time)。Set_time根据传递的3个参数为对象设置时间;print_time负责将对象表示的时间显示输出。在主函数中,建立一个时间类的对象,设置时间为9点20分30秒并显示该时间。
b. 使用构造函数代替上面的settime成员函数,并在主函数中使用构造函数设置时间为10点40分50秒,并显示该时间。
c. 重载时间类的构造函数(不带参数)使小时,分,秒均为0。
d. 在时间类的析构函数中输出“goodbye!”
e. 定义拷贝构造函数并调用。 展开
1个回答
展开全部
#include <stdio.h>
#include <stdint.h>
class CTime;
class CTime
{
public:
//
CTime()
:m_uiHour(0),m_uiMinute(0),m_uiSecond(0)
{
printf("call default constructor( CTime() )!\n");
}
CTime(uint32_t uiHour, uint32_t uiMinute, uint32_t uiSecond)
{
printf("call constructor( CTime(uint32_t uiHour, uint32_t uiMinute, uint32_t uiSecond) )!\n");
SetTime(uiHour, uiMinute, uiSecond);
}
CTime(const CTime& nTime)
{
m_uiHour = nTime.m_uiHour;
m_uiMinute = nTime.m_uiMinute;
m_uiSecond = nTime.m_uiSecond;
printf("call copy constructor!\n");
}
~CTime()
{
printf("goodbye!\n");
}
public:
void SetTime(uint32_t uiHour, uint32_t uiMinute, uint32_t uiSecond)
{
m_uiHour = uiHour > 23? 23:uiHour;
m_uiMinute = uiMinute > 59? 59: uiMinute;
m_uiSecond = uiSecond > 59? 59: uiSecond;
}
void PrintTime()
{
printf("this time: %u:%u:%u\n", m_uiHour,m_uiMinute,m_uiSecond);
}
private:
uint32_t m_uiHour;
uint32_t m_uiMinute;
uint32_t m_uiSecond;
};
int main()
{
CTime nTime;
nTime.PrintTime();
nTime.SetTime(1,2,3);
nTime.PrintTime();
CTime nTime2 = nTime;
nTime2.PrintTime();
return 0;
}
答案已经用代码体现了~
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询