#include<iostream> using namespace std; class Time; class Date { public: Date(int,int,int); friend Time;//将Time类声明为友元类 private: int month; int day; int year; }; Date::Date(int m,int d,int y):month(m),day(d),year(y){} class Time { public: Time(int,int,int); void display(const Date &); private: int hour; int minute; int sec; }; Time::Time(int h,int m,int s):hour(h),minute(m),sec(s){} void Time::display(const Date &d) {cout<<d.month<<"/"<<d.day<<"/"<<d.year<<endl;//引用Date类对象d1的数据成员 cout<<hour<<":"<<minute<<":"<<sec<<endl;//引用Time类对象d1的数据成员 } int main() {Time t1(10,13,56); Date d1(12,25,2004); t1.display(d1); return 0; }
时间: 2024-03-15 22:42:56 浏览: 92
#include <iostream>
这段代码展示了如何在两个类之间建立友元关系,使得一个类可以访问另一个类的私有成员。具体来说,代码中有两个类:Date 和 Time。在 Date 类中,使用关键字 `friend` 将 Time 类声明为其友元类。这意味着 Time 类可以访问 Date 类的私有成员。在 Time 类中,定义了一个 `display` 函数,该函数接受一个 Date 类对象作为参数,并显示该对象的日期和 Time 类对象的时间。
在主函数中,创建了一个 Time 类对象 t1 和一个 Date 类对象 d1,并调用 t1 的 `display` 函数来显示日期和时间。由于 Date 类声明了 Time 类为其友元类,所以 Time 类可以引用 Date 类的私有成员 month、day 和 year,从而显示日期信息。
阅读全文