友元函数及友元类.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
友元函数及友元类 在 C++ 程序设计中,友元函数和友元类是两个重要的概念,它们允许其他类或函数访问当前类的私有成员,从而实现了数据隐藏和访问控制。 什么是友元? 友元是指允许其他类或函数访问当前类的私有成员的类或函数。友元可以是函数或者是其他的类。类授予它的友元特别的访问权。通常同一个开发者会出于技术和非技术的原因,控制类的友元和成员函数(否则当你想更新你的类时,还要征得其它部分的拥有者的同意)。 成员函数、非成员函数和友元函数 成员函数和非成员函数最大的区别在于成员函数可以是虚拟的而非成员函数不行。所以,如果有个函数必须进行动态绑定,就要采用虚拟函数,而虚拟函数必定是某个类的成员函数。如果函数不必是虚拟的,情况就稍微复杂一点。 数据隐藏和友元 类的主要特点之一是数据隐藏,即类的私有成员只能在类定义的范围内使用,也就是说私有成员只能通过它的成员函数来访问。但是,有时候需要在类的外部访问类的私有成员。为此,就需要寻找一种途径,在不放弃私有数据安全性的情况下,使得类外部的函数或类能够访问类中的私有成员,在 C++中就用友元作为实现这个要求的辅助手段。 友元函数 友元函数不是当前类的成员函数,而是独立于当前类的外部函数,但它可以访问该类的所有对象的成员,包括私有成员和公有成员。在类定义中声明友元函数时,需在其函数名前加上关键字 friend。此声明可以放在公有部分,也可以放在私有部分。友元函数可以定义在类的内部,也可以定义在类的外部。 友元函数的特点: * 友元函数虽然可以访问类对象的私有成员,但它毕竟不是成员函数。 * 友元函数一般带有一个该类的入口参数。 * 当一个函数需要访问多个类时,友元函数非常有用,普通的成员函数只能访问其所属的类,但是多个类的友元函数能够访问相应的所有类的数据。 * 友元函数通过直接访问对象的私有成员,提高了程序运行的效率。 友元成员函数 除了一般的函数可以作为某个类的友元外,一个类的成员函数也可以作为另一个类的友元,这种成员函数不仅可以访问自己所在类对象中的私有成员和公有成员,还可以访问 friend 声明语句所在类对象中的私有成员和公有成员,这样能使两个类相互合作、协调工作,完成某一任务。 友元类 不仅函数可以作为一个类的友元,一个类也可以作为另一个类的友元。这种友元类的说明方法是在另一个类声明中加入语句“friend 类名;”,其中的“类名”即为友元类的类名。此语句可以放在公有部分也可以放在私有部分。 友元类的特点: * 友元关系是单向的,不具有交换性(我是你的朋友,不能推断出:你是我的朋友)。 * 友元关系也不具有传递性(我是你的朋友,你是他的朋友,不能推断出:我是他的朋友)。 友元函数和友元类是 C++ 程序设计中非常重要的概念,它们允许其他类或函数访问当前类的私有成员,从而实现了数据隐藏和访问控制。
- 粉丝: 4040
- 资源: 1万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助