设计一个日期类和时间类,编写display函数用于显示日期和时间。要求:display函数作为类外的普通函数,分别在Time和Date类中将display声明为友元函数。在主函数中调用display函数,display函数分别引用Time和Date两个类的对象的私有数据,输出年、月、日和时、分、秒。
时间: 2024-03-25 22:35:33 浏览: 95
好的,这里是您所需要的代码:
```c++
#include <iostream>
using namespace std;
class Time; // 前置声明
class Date {
private:
int year;
int month;
int day;
public:
Date(int y, int m, int d) {
year = y;
month = m;
day = d;
}
friend void display(Date d, Time t);
};
class Time {
private:
int hour;
int minute;
int second;
public:
Time(int h, int m, int s) {
hour = h;
minute = m;
second = s;
}
friend void display(Date d, Time t);
};
void display(Date d, Time t) {
cout << "Date: " << d.year << "-" << d.month << "-" << d.day << endl;
cout << "Time: " << t.hour << ":" << t.minute << ":" << t.second << endl;
}
int main() {
Date d(2022, 10, 1);
Time t(12, 30, 45);
display(d, t);
return 0;
}
```
运行结果:
```
Date: 2022-10-1
Time: 12:30:45
```
在这个程序中,我们定义了一个Date类和一个Time类,分别用来存储日期和时间。我们还定义了一个display函数,用来输出日期和时间。由于display函数需要引用Date和Time两个类的私有数据,因此我们在两个类中将display函数声明为友元函数。在主函数中,我们创建了一个Date对象和一个Time对象,并将它们作为参数传递给了display函数,从而实现了输出日期和时间的功能。
阅读全文