友元;內聯

友元全局函數

#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,但編譯器在執行時會自動判斷是否生成內聯,內聯不能是遞歸、複雜運算的函數



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