【TOJ 5247】C++实验:时间和日期类

描述

用C++实现日期类CDate和时间类CTime,并在次基础上利用多继承实现日期时间类CDateTime,使其能输出样例信息。

主函数里的代码已经给出,请补充完整,提交时请勿包含已经给出的代码。

int main()
{
	int y, m, d, hh, mm, ss;
	while(cin>>y>>m>>d>>hh>>mm>>ss)
	{
		CDateTime dt(y,m,d,hh,mm,ss);
		dt.Print();
		((CDate)dt).Print();
		((CTime)dt).Print();
	}
	return 0;
}

输入

输入数据有多组,每组占一行,每行为6个正整数,表示一个日期时间中的年、月、日、小时、分钟、秒。

日期信息保证有效。

输出

按样例格式输出日期时间、日期、时间等信息。

样例输入

2000 3 1 12 9 9

样例输出

2000-3-1 12:9:9
2000-3-1
12:9:9

#include<iostream>
using namespace std;
class CDate{
    protected:
        int y,m,d;
    public:
        CDate();
        CDate(int y,int m,int d):y(y),m(m),d(d){}
        void Print()
        {
            cout<<y<<"-"<<m<<"-"<<d<<endl;
        }
};
class CTime{
    protected:
        int hh,mm,ss;
    public:
    CTime();
    CTime(int hh,int mm,int ss):hh(hh),mm(mm),ss(ss){}
    void Print()
    {
        cout<<hh<<":"<<mm<<":"<<ss<<endl;
    }
};
class CDateTime:public CDate,public CTime{
    public:
        CDateTime();
        CDateTime(int y,int m,int d,int hh,int mm,int ss):CDate(y,m,d),CTime(hh,mm,ss){}
        void Print()
        {
            cout<<CDate::y<<"-"<<CDate::m<<"-"<<CDate::d<<" "<<CTime::hh<<":"<<CTime::mm<<":"<<CTime::ss<<endl;
        }
};
int main()
{
    int y, m, d, hh, mm, ss;
    while(cin>>y>>m>>d>>hh>>mm>>ss)
    {
        CDateTime dt(y,m,d,hh,mm,ss);
        dt.Print();
        ((CDate)dt).Print();
        ((CTime)dt).Print();
    }
    return 0;
}

原文地址:https://www.cnblogs.com/kannyi/p/8996498.html

时间: 2024-10-08 21:06:38

【TOJ 5247】C++实验:时间和日期类的相关文章

Problem B: 时间和日期类(III)

Problem B: 时间和日期类(III) Time Limit: 4 Sec  Memory Limit: 128 MBSubmit: 2889  Solved: 1732[Submit][Status][Web Board] Description 设计一个日期时间类,用于读取输入的数据,按格式输出日期和时间. 设计日期时间类DateTime由2个成员组成,分别是一个Date类对象和一个Time类对象: 设计DateTime类需支持以下操作: DateTime::DateTime()无参构

时间、日期类

Java提供了Date.Calendar两个类用于处理日期.时间. 但Date的大部分构造器.方法已经过时,不在推荐使用,Calendar类又过于复杂,所以Java8推出了一套新的时间日期库. Date常用的构造函数: Date()     生成一个代表当前日期时间的Date对象,相当于Date(System.currentTimeMillis()) Date(long date)   指定时间戳,默认单位ms.距1970.1.1   00:00:00的毫秒数. Date常用方法: boolea

day17 包装类、日期类

包装类 作用:1.丰富了基本数据类型只能存放值的问题,还提供了大量的方法或常量. 2.包装类充当了基本数据类型和引用数据类型转换的桥梁. 应用层面:包装类.String.基本数据类型的互相转换. 1.基本数据类型转为String: String str = Integer.toString(10): String str = 10 + "": 2.String转换为基本数据类型: int i = Integer.parseInt(str): 3.基本数据类型和包装类互转换: 语法糖--

Java日期时间实用工具类

1.Date (java.util.Date)    Date();        以当前时间构造一个Date对象    Date(long);        构造函数        boolean after(Date when)         测试此日期是否在指定日期之后 boolean before(Date when)         测试此日期是否在指定日期之前 Object clone()         返回此对象的副本 int compareTo(Date anotherDat

Java 时间日期类

1.Date 1 package demo03; 2 3 import java.util.Date; 4 5 public class DateDemo { 6 public static void main(String[] args) { 7 //无参构造方法, 用来创建当前日期时间的Date对象 8 Date d = new Date(); 9 System.out.println(d); 10 11 //long型参数作为构造方法, 用来创建指定时间的日期对象, 参数表示毫秒数 12

时间类和日期类派生出时间日期类

今天再写一个多重继承的应用实例,时间类和日期类派生出时间日期类 程序代码 #include <iostream> using namespace std; class Date//日期类 { public: //构造函数 Date(int y = 0, int m = 0, int d = 0); //设置日期 void SetDate(int y,int m,int d); //打印日期 void PrintDate() { cout<<year<<"年&q

ActionScript 3.0日期与时间管理(Date类)

/*Flash中,Date类管理着日期和时间信息.要获取   当前日期,可以新建一个Date对象   */var now:Date =new Date();trace (now);     /*输出当前时间和日期,格式如:                  Sun Jul 27 19:45:57 GMT+0800 2014  */ /*以上代码中,Date对象中包括了当前的秒.分.小时.  星期数.日.月.年.时区等信息...如果仅需要返  回星期值和日期值,而不返回时间或时区,可以使用Date

Date类,时间和日期格式类

Date类:构造一个反应当前时间的实例.         Date s=new Date(); System.out.println(s); 打印变量s可得到计算机当前时间,可具体到时间单位'秒'. long starttime=System.currentTimeMillis(); long endtime=System.currentTimeMillis(); starttime与endtime会统计一段执行时间,这个时间段就是两个表达式之间的代码所执行的时间.这样可以计算当前代码执行的效率

Android随笔之——Android时间、日期相关类和方法

今天要讲的是Android里关于时间.日期相关类和方法.在Android中,跟时间.日期有关的类主要有Time.Calendar.Date三个类.而与日期格式化输出有关的DateFormat和SimpleDateFormat,今天会稍微提到关于这两个类的用法,下次会找个时间细讲. 一.Time类 在官方的API中,有建议说使用Time代替Calendar,原因不明,据说用Time对CPU的负荷比较小. 在Time中,年月日时分秒的转义字符分别对应%Y%m%d%H%M%S,切记,大小写千万不能写错