您的位置:首页 > 其它

将普通函数声明为友元函数

2016-03-02 16:19 176 查看
//                          display 是一个 是类外定义的  并且 没有用  time 类进行限定的函数  ,  它 是 非成员函数 ,不属于任何类
//          如果没有 在time类的定义体中  声明display 函数为 friend 函数  他是不能引用 time中的私有成员 hour minute sec的
// 现在由于生命了 display 是time类 friend 函数 所以 display 函数可以引用  time 类中的 hour minute sec   但注意在引用这些私有成员的时候 必须加上对象名
// 因为  display 不是 time 类的成员函数 他们之间是 friend(朋友关系) 没有 this指针' 是不能默认引用 time类的 成员数据的
#include<iostream>
using namespace std;
class time
{
public:
time(int ,int ,int);                //  声明 构造 函数
friend void display (time &t);   //  声明 dispily 为 time类的  友元函数
private:
int hour;
int minute;
int sec;
};
time::time(int h,int m,int s)       //  定义构造函数 , 给hour minute sec赋初值
{
hour=h;
minute=m;
sec=s;
}
void display(time &t)    //  这是 普通的函数 ,形参t 是 time类对象的  引用
{
cout<<t.hour<<":"<<t.minute<<":"<<t.sec<<endl;
}
int main()
{
time t1(10,13,56);
display(t1);           // 调用函数   实参t1 是  time 类的 对象
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: