读书人

友元函数与普普通通的函数(类外)有什

发布时间: 2013-10-12 11:54:04 作者: rapoo

友元函数与普通的函数(类外)有什么区别
如题。感觉没有区别啊,友元函数多个friend而已。 友元函数
[解决办法]
没区别
只是打开了 那个类的protected 和 private 权限
[解决办法]
友元函数可以访问该类的私有成员,普通函数不能
除此之外没有区别
[解决办法]
有啊!可以访问该类的所有成员吧,包括私用的private!
当然,同时也破坏了类的封装性,如果不是特别原因,尽量少用!
[解决办法]
友元函数,其实是类的接口函数,虽然不是定义在类作用域内部的。

但是实质上,它是类的接口,应该看作类的一部分。
应该和类一起定义。

[解决办法]
怎么会感觉没有区别呢?不是友元函数总不能访问类的私有成员吧?
[解决办法]
有些函数感觉设计类时封装在类中不怎么容易理解(明明不是这个类的方法),就单独设计成友元函数,但是这样又访问不了类中的私有的数据,所以在类中声明一下这个函数是自己的朋友,这样就允许这个函数使用类中的私有数据了,感觉跟普通的成员函数差不多,只是设计在类的外部.

读书人网 >C++

热点推荐