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