C 中能否不使用友元函数来完成友元函数的功能?怎么做?

有如下几种方式,优劣都描述了,自己取舍吧。1. 将数据开放成public当然不建议这样做,不然就把秘密坦荡荡地暴露出去,被人一览无余。说不定别人一不小心就碰到你的小丁丁,让你尖叫起来,这是极其恐怖的事情。 友元函数的存在,就是将你的那些小秘密只给好闺蜜或者好基友开放,其他人是看不见也摸不着的。这样开放的范围小,小丁丁被人碰到的也是自己的好朋友,没那么尴尬,不相干的人是没机会的。

2. 将相关数据声明为protected关键字限定,将需要访问他们的类定义为前者的public派生类,这样那些数据在基类里是安全的,在派生类里是自己的protected成员,想怎么样可以,任你予取予求,不反抗。3. 提供public的操作接口,提供给外部使用,这是推荐的方法。 外面只能通过你提供的接口去读写相关隐私数据,不能直接访问。


文章TAG:runoob  友元  函数  
下一篇