1 // friend 不仅 可以是一般函数 , 而且可以是另一个类的成员函数
2 // 本例中除了介绍到 有关友元函数的 简单应用外 还将用到 类的 提前应用 声明
3 #include<iostream>
4 using namespace std;
5 class date; // 对 date类 进行 提前引用声明
6 class time // 声明 time 类
7 {
8 public:
9 time(int ,int ,int ); // 声明构造函数
10 void display(date&); // display 是成员函数 , 形参 是 date 类 对象的 引用
11 private:
12 int hour;
13 int minute;
14 int sec;
15 };
16 class date // 声明 date 类
17 {
18 public:
19 date(int,int,int); //声明 构造函数
20 friend void time::display(date&); //声明 time类 中的 display 函数 为 本类的 友元函数
21 private:
22 int month;
23 int day;
24 int year;
25 };
26 time::time(int h,int m,int s)
27 {
28 hour=h;
29 minute=m;
30 sec=s;
31 }
32 void time::display(date&d)
33 {
34 cout<<d.month<<"/"<<minute<<d.day<<"/"<<d.year<<endl;
35 cout<<hour<<":"<<minute<<":"<<sec<<endl;
36 }
37 date::date(int m,int d,int y) // 类 date的 构造函数
38 {
39 month=m;
40 day=d;
41 year=y;
42 }
43 int main()
44 {
45 time t1(10,13,56); // 定义 time类 对象t1
46 date d1(12,25,2004);
47 t1.display(d1);
48 return 0;
49 }