#include<iostream.h>
class B
{private:
int mm,nn;
public:
B(int i,int j);
friend class A;//声明友元类
};
B::B(int i,int j)
{mm=i;
nn=j;
}
class A
{private:
int ax,ay;
public:
A(int i,int j);
friend int sum(A);//声明友元函数
int sumB(B b);
};
A::A(int i,int j)
{ax=i;
ay=j;
}
int sum(A a)
{return (a.ax+a.ay);//访问类对象的私有成员ax和ay
}
int A::sumB(B b)
{return (b.mm+b.nn);//访问类对象b的私有成员mm和 nn.
}
int main()
{B b(4,5);
A a(5,10);
cout<<sum(a)<<endl;
cout<<a.sumB(b)<<endl;
return 0;
}
友元函数
最新推荐文章于 2023-08-18 23:23:17 发布
本文介绍了一个使用C++实现的包含两个类A和B的例子,其中类B被声明为类A的友元类,并且定义了一个友元函数sum用于访问类A的私有成员。同时,类A中有一个成员函数sumB可以访问类B的私有成员。通过这个例子展示了友元在C++中的使用方式。
2668

被折叠的 条评论
为什么被折叠?



