1. 程式人生 > >第十二週專案三日期時間類

第十二週專案三日期時間類

/*
  * Copyright (c) 2014, 煙臺大學計算機學院
  * All rights reserved.
  * 作    者:紀麗娜
  * 完成日期:2014年05月19日
  * 版 本 號:v1.0
  * 問題描述:
  *定義一個日期類Date,
  *資料成員包括年、月、日,
  *SetDate(int y,int m,int d)和PrintDate()函式
  *分別用於設定日期和顯示日期;
  *再定義一個時間類Time,資料成員包括時、分、秒,
  *SetTime(int h,int m,int s)和PrintTime()函式
  *分別用於設定時間和顯示時間,
  *在此基礎上再定義一個日期時間類TimeDate,
  *充分利用已有的兩個類中提供的方法,
  *實現日期和時間的設定和顯示,
*/
#include<iostream>
using namespace std;
class Date
{
public:
    void SetDate(int y,int m,int d)
    {
        Year=y;
        Month=m;
        Day=d;
    }
    void PrintDate()
    {
        cout<<Year<<"年"<<Month<<"月"<<Day<<"日";
    }
    Date():Year(0),Month(0),Day(0) {}
    Date(int y,int m,int d):Year(y),Month(m),Day(d) {}

private:
    int Year,Month,Day;
};
class Time
{
public:
    void SetTime(int h,int m,int s)
    {
        Houre=h;
        Minutes=m;
        Seconds=s;
    }
    void PrintTime()
    {
        cout<<Houre<<"時"<<Minutes<<"分"<<Seconds<<"秒\n";
    }
    Time():Houre(0),Minutes(0),Seconds(0) {}
    Time(int h,int m,int s):Houre(h),Minutes(m),Seconds(s) {}

private:
    int Houre,Minutes,Seconds;
};
class TimeDate: public Date,public Time
{
public:
    TimeDate():Date(),Time() {};
    TimeDate(int y,int mo,int d,int h,int mi,int s):
        Date(y,mo,d),Time(h,mi,s) {}
    void PrintDate_Time()
    {
        PrintDate();
        cout<<" ";
        PrintTime();
    }
};
int main()
{
    TimeDate dt_a,dt_b(2010,4,16,9,30,0);
    cout<<"dt_a:\n ";
    dt_a.PrintDate_Time();
    cout<<endl;
    cout<<"dt_b: \n";
    dt_b.PrintDate_Time();
    dt_a.SetTime(20,00,00);
    dt_a.SetDate(2008,8,7);
    cout<<endl;
    cout<<"dt_after uptate:\n ";
    dt_a.PrintDate_Time();
    return 0;
}