class C2
{
public:
int add();
};
class C1
{
public:
C1(int a, int b)
: m_a(a)
, m_b(b)
{
}
private:
int add()
{
return m_a + m_b;
}
private:
//friend 可以可以放在private 或者public 都没有关系
friend int GlobalAdd(); //友元函数,GlobalAdd 可以访问C1的私有函数和成员
friend int C2::add() ; //友元函数, C2::add 可以访问C1的私有函数和成员
friend class C2; //友元类,C2 可以访问C1的私有函数和成员
private:
int m_a;
int m_b;
};
int GlobalAdd()
{
C1 c1(200, 300);
return c1.m_a+ c1.m_b;
}
int C2::add()
{
C1 c1(200, 300);
return c1.add();
}
友元函数和友元类
最新推荐文章于 2024-06-20 09:00:44 发布