用c++编写:设计一个日期类和时间类,编写display函数用于显示日期和时间。要求:display函数作为类外的普通函数,分别在Time和Date类中将display声明为友元函数。在主函数中调用display函数,display函数分别引用Time和Date两个类的对象的私有数据,输出年、月、日和时、分、秒。
时间: 2024-02-20 18:59:54 浏览: 72
好的,下面是代码实现:
```
#include <iostream>
using namespace std;
class Time; // 前置声明
class Date {
friend void display(Date& date, Time& time); // 声明友元函数
private:
int year, month, day;
public:
Date(int y, int m, int d) {
year = y;
month = m;
day = d;
}
};
class Time {
friend void display(Date& date, Time& time); // 声明友元函数
private:
int hour, minute, second;
public:
Time(int h, int m, int s) {
hour = h;
minute = m;
second = s;
}
};
void display(Date& date, Time& time) { // 定义友元函数
cout << "日期:" << date.year << "-" << date.month << "-" << date.day << endl;
cout << "时间:" << time.hour << ":" << time.minute << ":" << time.second << endl;
}
int main() {
Date date(2021, 10, 1);
Time time(10, 30, 0);
display(date, time);
return 0;
}
```
在上述代码中,我们定义了一个`Date`类和一个`Time`类,分别表示日期和时间,每个类中都声明了一个友元函数`display`,用于输出私有数据。在主函数中,我们创建了一个`Date`对象和一个`Time`对象,并将它们作为参数传递给`display`函数,从而输出日期和时间。
阅读全文