友元函数破坏了类的封装特性,它可以在类的外部访问类的私有属性
#include "iostream"
using namespace std;
class A1
{
public:
A1()
{
a1 = 100;
a2 = 200;
}
int getA1()
{
return this->a1;
}
friend void setA1(A1 *p, int a1); //声明一个友元函数
private:
int a1;
int a2;
};
void setA1(A1 *p, int a1)
{
p->a1 = a1;
}
void main11()
{
A1 mya1;
cout<<mya1.getA1()<<endl;
setA1(&mya1, 300);
cout<<mya1.getA1()<<endl;
system("pause");
}
友元类可以访问”朋友”的方法和变量