Chinaunix首页 | 论坛 | 博客
  • 博客访问: 92065
  • 博文数量: 14
  • 博客积分: 365
  • 博客等级: 一等列兵
  • 技术积分: 191
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-19 21:55
文章分类

全部博文(14)

文章存档

2012年(14)

分类: C/C++

2012-09-26 21:22:21

    友元提供了不同类或对象的成员函数之间、类的成员函数与一般函数之间进行数据共享的机制。也就是说,通过友元,一个普通函数或者类的成员函数可以访问到封装于某一类中的数据,这相当于给类的封装开了一个小孔,通过它,可以看到类内部的一些属性。
    从这个角度来讲,友元是对数据隐蔽和封装的挑战,但是考虑到数据共享的必要性,为了提高程序的效率,很多情况下这种小的破坏也是必要的,关键是需要在封装性和效率之间找到一个好的平衡点。
    如果友元是一般函数或类的成员函数,则称为友元函数。友元函数是拥有成员函数一切权利的非成员函数,也就是说,友元函数不是类的成员函数,但可以像成员函数一样直接访问类的私有成员(包括类的私有数据成员和私有成员函数)。
    如果友元是一个类,则称为友元类,友元类的所有成员函数都为友元函数。
阅读(1309) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~