友元关系 friend
封装,是打破封装的手段
友元分为友元函数和友元类
友元类可以创建友元对象 友元-->两者之间的关系
友元函数:
#include<iostream>
using namespace std;
class A
{
int num;
friend void text_func_1(A obj);
public:
A() { num = 0; }
};
void text_func_1(A obj)
{
obj.num = 0;
}
int main() {
A a;
text_func_1(a);
return 0;
}
友元类:单向的,访问只能是B可以访问A的,但A不可以访问B的
#include<iostream>
using namespace std;
class A
{
int num;
friend class B;
};
class B
{
public:
void testfunc(A obj)
{
obj.num;
}
};
int main() {
return 0;
}
特点:
单方向的;
不传递;
不继承;