利用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. 定义拷贝构造函数并调用。
展开
 我来答
807738390
2018-04-02 · 超过34用户采纳过TA的回答
知道答主
回答量:76
采纳率:87%
帮助的人:41.7万
展开全部
#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;
}

答案已经用代码体现了~

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式