友元

友元是为了兼顾C语言的习惯和c++信息隐藏的特点而特意增加的功能。

友元机制是对一些类外的函数打开的一个特殊通道,授权他们能访问本类的私有成员变量。

友元的概念打破了类的封装性和信息隐藏,但有助于数据共享,能够提高程序执行的效率

二、友元机制包括友元函数和友元类。

友元函数:定义类时可以把一些函数包括全局函数和其他类的成员函数声明为“友元”函数。

在类定义中声明友元函数形式:

friend 函数类型 函数名(参数列表);  // 针对全局函数

friend 函数类型 函数所在类名::函数名(参数列表);

友元函数可在类中的私有或公有部分通过关键词 friend 声明或定义如在类中声明,而在类外定义,就不能在类外使用friend关键字

三、友元类

如果将类B说名称类A的友元类,则类B中的所有函数都是类A的友元函数。

类定义声明友元类的格式如下:

friend class 类名;

友元类的关系是单向的。若说明类B是类A的友元类这并不代表类A也是类B的友元类。友元类的关系不能传递,即类B是类A的友元类,而类C是类B的友元类,不等于类C是类A的友元类。

除非必要,一般不把整个类都说明为友元类,而仅把类中的某些成员函数说明为友元函数。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
C++

封闭类构造函数的初始化列表

2023-10-16 17:31:06

C++

this指针

2023-10-16 18:33:50

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索