1. 程式人生 > >(八)、 友元細說

(八)、 友元細說

        c++當中的私有成員太過私有了,除了自己能夠對其操作,其他物件或者方法都無法對私有成員進行操作。這樣一來確實保證了成員的安全,但這是不合常理的,一個人不能完全的利己主義,有好東西也是需要分享的。這時候友元就來了。

       和c語言學習當中的 exturn 一樣,都是擴大資料的作用範圍,c語言中使用 exturn 可以讓其他檔案訪問當前檔案資料,友元也一樣嘛。允許類當中的私有成員被自己的友元函式訪問。

       測試程式碼

#include <iostream>

using namespace std;


class Test
{
public:
	Test(int Data = 0):data(Data){};
    // 宣告友元函式
	friend void show(Test &t);
private:
	int data;	
};

void show(Test &t)
{
    // 通過物件訪問私有成員,而不是通過方法
	cout<<t.data<<endl;
}

int main(void)
{
	Test t;
	show(t);
	return 0;
}