友元是单向的。
用friend声明友元类。
友元可以访问与其有好友关系的类中的私有成员。
友元包括友元函数和友元类。
定义一个函数(这个函数可以是不属于任何类的非成员函数,也可以是其他类的成员函数),在类体中用friend对其进行声明,此函数就称为本类的友元函数。友元函数可以访问这个类中的私有成员。
将普通函数声明为友元函数。
#include <iostream>
using namespace std;
class Time
{
public:
Time(int,int,int);//声明构造函数
friend void display(Time&);
private:
int hour;
int minute;
int sec;
};
Time::Time(int h,int m,int s):hour(h),minute(m),sec(s)
{
}
void display(Time& t)
{
cout << t.hour<<":" << t.minute << ":" << t.sec << endl;
}
int main()
{
Time t1(11,17,23);
display(t1);
return 0;
}