关于友元有关问题friend

关于友元问题friend
我想用在Time类中的成员函数分别成为Date和Box 的成员函数的朋友。这样写,代码错误,请问应该怎样写呢??
求帮助!!谢谢!!
#include <iostream>
using namespace std;
class Date;
class Box;
class Time
{
  public:
  Time(int,int ,int);
  void display(Time &,Box &);
  private:
  int hour;
  int minute;
  int sec;
};
class Date
{
  public:
  Date(int,int,int);
  friend void Time::display(Date &,Box &);
  private:
  int month;
  int day;
  int year;
};

class Box
{
  public:
  Box(int a,int b):a1(a),b1(b){}
  friend void Time::display(Date &,Box &);
  private:
  int a1;int b1;
}
Time::Time(int h,int m,int s)
{
  hour=h;minute=m;sec=s;
}
void Time::display(Date &d,Box &e)
{
  cout<<d.month<<"/"<<d.day<<"/"<<d.year<<endl;
  cout<<e.a1<<" "<<e.b1<<endl;
}

Date::Date(int m,int d,int y)
{
  month=m;day=d;year=y;
}

int main()
{
  Time t1(10,13,56);
  Date d1(12,25,2004);
  Box e1(101,999);
  t1.display(d1,e1);
  return 0;
}

------解决方案--------------------
见注释

C/C++ code

#include <iostream>
using namespace std;
class Date;
class Box;
class Time
{
public:
    Time(int,int ,int);
    //void display(Time &,Box &);    
    void display(Date &, Box &);
private:
    int hour;
    int minute;
    int sec;
};
class Date
{
public:
    Date(int,int,int);
    
    friend void Time::display(Date &,Box &);
private:
    int month;
    int day;
    int year;
};

class Box
{
public:
    Box(int a,int b):a1(a),b1(b){}
    friend void Time::display(Date &,Box &);   
    int a1;int b1;
};               //此处缺少了分号 ; 

Time::Time(int h,int m,int s)
{
    hour=h;
    minute=m;
    sec=s;
}

void Time::display(Date &d,Box &e)                
{
    cout<<d.month<<"/"<<d.day<<"/"<<d.year<<endl;
    cout<<e.a1<<" "<<e.b1<<endl;
}

Date::Date(int m,int d,int y)
{
    month=m;day=d;year=y;
}

int main()
{
    Time t1(10,13,56);
    Date d1(12,25,2004);
    Box e1(101,999);
    t1.display(d1,e1);
    return 0;
}