友元

^友元的概念和定义

遵循一定规则而使对象以外的软件系统能够不经过消息传递方式直接使用访问对象内封装数据成员的技术方法便是友元,友元是面向对象系统与面向过程系

统衔接的纽带。

只要对外界的某个对象说明为一个类的友元,那么这个外界对象就可以访问这个类对象中的私有成员。

^友元函数

友元函数是一种说明在类定义体内的非成员函数,说明友元函数的方法如下:

friend<返回值类型><函数名>(<参数表>);

说明:

(1)友元函数是在类中说明的函数,它不是该类的成员函数,但允许访问该类所有成员,它是独立于任何类的一般外界函数。友元不在类的范围内,它们不

用成员选择符(.或->)调用.

(2)由于友元函数不是类的成员,所以没有this指针,访问该类的对象成员时,必须使用对象名,而不能使用类的成员名。

(3)虽然友元函数是在类中说明的,但其名字的作用域在类外,作用域开始点在说明点,结束点和类名相同。

(4)如果在说明友元时给出了该函数的函数体代码,则它是内联的。

(5)在类外定义友元函数时去掉friend关键字。

^友元成员

另一个类的成员函数可以作为某个类的友元,只是在声明友元函数时加上成员函数所在的类名,称为友元成员。声明如下:

friend 函数返回值类型 类名::成员函数名(形参列表);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转:关于C++中的友元函数的总结 1.友元函数的简单介绍 1.1为什么要使用友元函数 在实现类之间数据共享时,减少...
    资深小夏阅读 4,084评论 0 0
  • 采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间...
    cuagain阅读 3,538评论 0 4
  • (1).友元函数为了实现类之间数据共享时,减少系统开销,提高效率。允许外面的类或函数去访问类的私有变量和保护变量,...
    Wangcy阅读 4,668评论 0 0
  • 因为后续准备入职的公司都希望能转C++,所以最近也是按部就班的开始进行C++的学习。然后这个系列的文章打算探究C+...
    LeeHappen阅读 3,616评论 0 4
  • 注意:本文中代码均使用 Qt 开发编译环境友元(1)是C++提供的一种破坏数据封装和数据隐藏的机制(2)通过将一个...
    赵者也阅读 10,460评论 0 2