您的位置:首页 > 其它

友元函数和友元类

2016-01-25 11:17 253 查看
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();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: