友元(非重点)

友元初步(7.2.1节)

作用

友元打破封装,注意友元不是成员,无视private的控制,更无视其他访问级别了。

声明方法

类里面加friend声明一次(仅代表声明访问权限,不是真正的声明),类外还要再声明一次。

友元再探(7.3.4节)

把其他非成员函数作为友元

把其他类作为友元

友元类完全可以访问Screen类的所有成员。

class Screen
{
    friend class windows_mgr;
};

把其他类的成员函数作为友元

注意clear函数必须在Screen前面声明。声明顺序较复杂,自己查查

class Screen
{
    friend void windows_mgr::clear(ScreenIndex);
};

友元声明的意义

友元声明还是那句话,不代表真正的声明

struct X
{

    friend void f(){}   //定义完了,但是不叫声明
    void g();
    void h();
};
void X::g()
{
    return f();    //xxx,没有声明
}

void f();

void X::h()
{
    return f();  //声明了
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值