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();
}