• 问题 D: C++ 习题 输出日期时间--友元函数


    题目描述

    设计一个日期类和时间类,编写display函数用于显示日期和时间。要求:display函数作为类外的普通函数,分别在Time和Date类中将display声明为友元函数。在主函数中调用display函数,display函数分别引用Time和Date两个类的对象的私有数据,输出年、月、日和时、分、秒。

     

    输入

    年、月、日和时、分、秒

    输出

    年、月、日和时、分、秒

    样例输入

    2013 12 23
    14 23 50

    样例输出

    2013/12/23
    14:23:50

    提示

     主函数已给定如下,提交时不需要包含下述主函数


     

    /* C++代码 */

    int main()

    {

        void display(const Date &,const Time &);

        int year,month,day;

        cin>>year>>month>>day;

        Date d1(year,month,day);

        int hour,minute,second;

        cin>>hour>>minute>>second;

        Time t1(hour,minute,second);

        display(d1,t1);

        return 0;

    }
     
    #include <iostream>
    using namespace std;
    
    class Time;
    
    class Date {
    	
    	private :
    		int year;
    		int month;
    		int day;
    	
    	public :
    	
    		Date(int y = 0, int m = 0, int d = 0) : year(y), month(m), day(d) {};
    		friend void display(const Date &,const Time &);
    };
    
    class Time {
    	
    	private :
    		int hour;
    		int minute;
    		int second;
    		
    	public :
    
    		Time(int h = 0, int m = 0, int s = 0) : hour(h), minute(m), second(s) {};
    		friend void display(const Date &,const Time &);
    };
    
    void display(const Date &d, const Time &t)
    {
    	cout << d.year << "/" << d.month << "/" << d.day << endl;
    	cout << t.hour << ":" << t.minute << ":" << t.second << endl;
    	return ;
    }
    
    int main()
    {
    
    
        void display(const Date &,const Time &);
    
    
        int year,month,day;
    
    
        cin>>year>>month>>day;
    
    
        Date d1(year,month,day);
    
    
        int hour,minute,second;
    
    
        cin>>hour>>minute>>second;
    
    
        Time t1(hour,minute,second);
    
    
        display(d1,t1);
    
    
        return 0;
    
    
    }
    

      

  • 相关阅读:
    Mac普通用户修改了/etc/sudoers文件的解决办法
    python对缓存(memcached,redis)的操作
    线程、进程、协程和队列
    python作用域和多继承
    sokect编程进阶
    socket编程基础
    python面相对象进阶
    python异常处理
    configparser模块
    subprocess模块
  • 原文地址:https://www.cnblogs.com/mjn1/p/10606712.html
Copyright © 2020-2023  润新知