第六課有元函數與有元類

1、有元函數
有元函數的作用就是去訪問類裏面的私密數據,關鍵字是friend

#include<iostream>
#include<string>
class Name
{
private:
	int a;
public:
	Name(int b);
	void Sea(void);
	friend void feiName(Name &obj,int a);  //有元函數的定義方法
};
void feiName(Name &obj, int b)
{
	obj.a = b;
}
void Name::Sea(void)
{
	std::cout <<"I AM  "<< this->a << std::endl;
}
Name::Name(int b)
{
	this->a =b;

}
int main(void)
{
	Name kk(10);
	kk.Sea();
	feiName(kk, 20);
	kk.Sea();

}

在這裏插入圖片描述

2、有元類

若B類是A類的友員類,則B類的所有成員函數都是A類的友員函數
友員類通常設計爲一種對數據操作或類之間傳遞消息的輔助類

#include<iostream>
#include<string>

class Name
{
private:
	int a;
public:
	Name(int b);
	void Sea(void);
	friend class Name2;  //**記得不要漏掉class**
};

void Name::Sea(void)
{
	std::cout <<"I AM  "<< this->a << std::endl;
}
Name::Name(int b)
{
	this->a =b;

}
class Name2
{
public:
	Name2(int a) :obj(a)
	{
		;
	}
	void set(int i)
	{
		obj.a = i;

	}
	Name obj;
};

int main(void)
{
	Name2 kk(10);
	kk.obj.Sea();
	kk.set(30);
	kk.obj.Sea();

}

在這裏插入圖片描述

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