站点图标 陌路寒暄

C++ 习题 输出日期时间--友元函数

C++ 习题 输出日期时间--友元函数

时间: 1ms        内存:128M

描述:

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

输入:

年、月、日和时、分、秒

输出:

年、月、日和时、分、秒

示例输入:

2013 12 23
14 23 50

示例输出:

2013/12/23
14:23:50

提示:

参考答案(内存最优[0]):

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;


}

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;
}

参考答案(时间最优[0]):

#include <iostream>
using namespace std;
class Date;
class Time
{
public:
    Time(int,int,int);
    friend void display(const Date &,const Time &);
private:
    int hour;
    int minute;
    int sec;
};

Time::Time(int h,int m,int s)
{
    hour=h;
    minute=m;
    sec=s;
}

class Date
{
public:
    Date(int,int,int);
    friend void display(const Date &,const Time &);
private:
    int year;
    int month;
    int day;
};

Date::Date(int y,int m,int d)
{
    year=y;
    month=m;
    day=d;
}

void display(const Date &d,const Time &t)
{
    cout<<d.year<<"/"<<d.month<<"/"<<d.day<<endl;
    cout<<t.hour<<":"<<t.minute<<":"<<t.sec<<endl;
}
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;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

退出移动版