Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2244274
  • 博文数量: 556
  • 博客积分: 11457
  • 博客等级: 上将
  • 技术积分: 5973
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-24 22:33
文章分类

全部博文(556)

文章存档

2013年(22)

2012年(74)

2011年(460)

分类: C/C++

2011-05-20 17:20:33

    友元是一种定义在类外部的普通函数,但它需要在类体内进行说明,为了与该类的成员函数加以区别,在说明时前面加以关键字friend
    友元不是成员函数,但是它可以访问类中的私有成员。友元的作用在于提高程序的运行效率,但是,它破坏了类的封装性和隐藏性,使得非成员函数可以访问类的私有成员。   
    友元函数 通过对象的引用可以直接访问私有变量而一般的函数则不可以。
  1. #include "iostream"
  2. using namespace std;
  3. class Point
  4. {
  5.     int aa;
  6. public:
  7.     friend void bb(Point cc);
  8.     Point()
  9.     {
  10.        aa=88;
  11.     }
  12. };
  13. void bb(Point cc)
  14. {
  15.   int d=cc.aa; //通过对象的引用可以直接访问
  16.   cout<<"这是友元函数通过对象的引用直接访问私有变量的例子!"<<endl;
  17.   cout<<d<<endl;
  18. }
  19. /*
  20. void dd(Point cc)
  21. {
  22.    int d=cc.aa; //不可以直接访问
  23.     cout<<d<<endl;
  24. }
  25. */
  26. int main()
  27. {
  28.     Point p;
  29.     bb(p);
  30.     return 0;
  31. }
写于2011-05-20下午
阅读(2211) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

cqw_cu_2014-12-09 10:59:52

写的通俗易懂,赞一个~