在time类声明为date的友元类,通过time类中的display函数引用date类对象的私有数据,输出年,月,日和时,分,秒
时间: 2024-05-05 16:18:32 浏览: 114
友元函数的运行实例(时间与日期)
答案:可以实现,请参考以下代码:
```c++
#include<iostream>
using namespace std;
class Date; // 提前声明Date类
class Time {
private:
int hour;
int minute;
int second;
public:
Time(int h, int m, int s) {
hour = h;
minute = m;
second = s;
}
friend class Date; // 声明Date类是Time类的友元类
void display(Date& d); // 在Time类中声明display函数
};
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 Time::display(Date& d); // 在Date类中声明Time类中的display函数为友元函数
};
void Time::display(Date& d) { // 定义display函数
cout << "年:" << d.year << endl;
cout << "月:" << d.month << endl;
cout << "日:" << d.day << endl;
cout << "时:" << hour << endl;
cout << "分:" << minute << endl;
cout << "秒:" << second << endl;
}
int main() {
Date d(2021, 7, 1);
Time t(12, 30, 45);
t.display(d);
return 0;
}
```
输出结果为:
```
年:2021
月:7
日:1
时:12
分:30
秒:45
```
希望能够帮到您!
阅读全文