习题 9.10 将例9.13程序中的display函数不放在Time类中,而作为类外的普通函数,然后分别在Time和Date类中将display声明为友元函数。在主函数中调用display函数。。。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/navicheung/article/details/82459711

C++程序设计(第三版) 谭浩强 习题9.10 个人设计

习题 9.10 将例9.13程序中的display函数不放在Time类中,而作为类外的普通函数,然后分别在Time和Date类中将display声明为友元函数。在主函数中调用display函数,display函数分别引用Time和Date两个类的对象的私有数据,输出年、月、日和时、分、秒。

代码块:

#include <iostream>
using namespace std;
class Date;
class Time
{
public:
    Time(int h, int m, int s): hour(h), minute(m), sec(s){};
    friend void display(Date &, Time &);
private:
    int hour;
    int minute;
    int sec;
};
class Date
{
public:
    Date(int m, int d, int y): month(m), day(d), year(y){};
    friend void display(Date &, Time &);
private:
    int month;
    int day;
    int year;
};
void display(Date &d, Time &t)
{
    cout<<d.month<<"/"<<d.day<<"/"<<d.year<<endl;
    cout<<t.hour<<":"<<t.minute<<":"<<t.sec<<endl;
}
int main()
{
    Time t1(10, 13, 56);
    Date d1(12, 25, 2004);
    display(d1, t1);
    system("pause");
    return 0;
}

猜你喜欢

转载自blog.csdn.net/navicheung/article/details/82459711
今日推荐