友元全局函数
#include<iostream>
using namespace std;
class time{
int hour;
int min;
int sec;
public:
time(int h, int m, int s) :hour(h), min(m), sec(s){}//构造函数定义
friend void printtime(time &t);//声明全局友元函数
};
void printtime(time &t);//声明函数,形参必须是类的应用或者指针
int main(){
time t(11, 12, 45);
printtime(t);
system("pause");
return 0;
}
void printtime(time &t){
cout << t.hour << ":" << t.min << ":" << t.sec << endl;//先定义友元类才能调用对象t的私有成员
}
友元成员函数
A是B类友元,A所有成员函数都是B的友元,都可以访问B类的私有成员
class B{
...
class A;
...
};
友元特点:不能传递;单向;不能继承
内联关键词:inline,调用方式比普通函数简单,所有函数都可以建议定义为inline,但编译器在执行时会自动判断是否生成内联,内联不能是递归、复杂运算的函数