
友元函数,是C加加class类类型机制中一种比较被人诟病的元素,作为一个类的友元函数,友元函数可以对这个类的私有成员函数进行访问,这个访问是单向的,即友元函数可以访问类的数据,而不可逆,友元函数尽量减少使用。
普通函数在类里加上声明成类的友元以后就可使用类的成员变量,不然成员变量一般式封装在类里的,外面函数是无法使用的。
1、友元函数是可以直接访问类的私有成员的非成员函数。它是定义在类外的普通函数,它不属于任何类,但需要在类的定义中加以声明,声明时只需在友元的名称前加上关键字friend。
2、友元函数可以访问类的静态成员、私有成员和公有成员。
3、友元的作用在于提高程序的运行效率(即减少了类型检查和安全性检查等都需要的时间开销),但是,它破坏了类的封装性和隐藏性,使得非成员函数可以访问类的私有成员。
友元函数是指某些虽然不是类成员却能够访问类的所有成员的函数。。类授予它的友元特别的访问权。通常同一个开发者会出于技术和非技术的原因,控制类的友元和成员函数(否则当你想更新你的类时,还要征得其它部分的拥有者的同意)。 举个通俗的例子吧, 一个家庭,对一般的访客开发的是客厅,厨房等,但卧室这样的私人地方一般访客是禁止访问的,而好朋友 就可以进去了,
没有友源只有友元
C++中,某一个类的友元是可以访问该类中封装的函数或者变量、但并不属于该类的函数(友元函数)或者类(友元类)。友元可以用作两个互不相干的类之间的某些操作。
友元这种东西本身和类的封装性是有一定的冲突的,因为友元相当于在一个封装好的类上面打开了一个让其他模块得以进入该类的通道。因此在面向对象编程中,友元是不推荐使用的东西。
类有基类和派生类,类成员包括私有成员、公有成员,受保护成员。私有一般是数据成员,公有成员一般为函数成员。函数成员可以有构造函数、函数成员(或叫接口),也可以封装(我的理解是内连函数),友元函数(可以访问类私有数据,但不是成员函数)、析构函数!
以上就是关于友元函数有什么作用的全部内容,以及友元函数有什么作用的相关内容,希望能够帮到您。