友元函数、友元类

由于采用类的机制,实现了数据的封装和隐藏,类的数据成员一般设为私有类型,成员函数则为公有类型,提供与外界连接的接口,但有时需要非类成员函数频频访问类内数据成员,则将其设为该类的友元函数,简称友元,同样还有友元类,是一类需要与另一类建立联系,保持调用关系,则也可以设为该类的友元类,友元可以增加代码的灵活性,提高运行效率(类型检查和数据成员和成员函数的安全性检查会消耗时间),但同样破坏了C++的封装性,使其能够访问该类的私有成员。


友元可以分为友元函数和友元类,友元函数又可以分为友元全局函数和友元成员函数,友元关系不可传递,单向性。友元其实破坏了C++的封装性,是对封装的补充。

友元全局函数:

在主函数前面声明定义时加上friend关键字,在其关联的类的关系运算符前加上此函数的声明,并加上关键字friend

如:

friend void display() { }

class Person

{

friend void display();

public:

}

友元成员函数:

在与之关联成友元的类中要写上 如:friend void Match::printtime(Time &t);

友元类:

friend class A 的形式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值