友元;内联

友元全局函数

#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,但编译器在执行时会自动判断是否生成内联,内联不能是递归、复杂运算的函数



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章