20200320_友元函數

20200320_友元函數

序言

我在實際項目中幾乎沒用過友元,因爲這個東西允許類與類之間可以訪問private接口,這在安全性上是非常不推薦的,但C++設計這個東西,是有它的特殊用途的。

類似於auto關鍵字,很多書不推薦使用,但它在特殊情況是相當好用的。

只是【不易維護】而已。

個人理解

什麼時候要用到友元呢?C++ Primer裏面舉了一個電視機和遙控器的例子,我看着頭大。可能我更傾向於使用自己熟悉的東西,比如遊戲類。

這裏我要拿鐵拳6和街霸X鐵拳的角色LAW做例子,街霸X鐵拳的LAW有很多動作在鐵拳6裏面都有,但是新增了龍構和其他動作,所以在開發街霸X鐵拳的時候,沒有必要再寫一遍代碼。所以有兩種方法:繼承和友元。

爲什麼不能用繼承呢?呵呵,因爲這是兩家公司的產品,不可能公開彼此代碼的。所以最好的方法,就是用友元。

把鐵拳6作爲街霸X鐵拳的友元,訪問已經認定爲友元的接口,也不影響其他接口的運行,這就是友元的使用場景。

當然,是我假設的,可能兩家公司關係好真用的繼承也不一定。

知識擴展

共同的碼元。

(內容太多,待補全)

本文歸類

建議歸類到【C++】。

明日計劃

int類型的最大值。

參考文獻:

《C++ Primer Plus》(第6版)中方版,第15章,602頁。

今日收藏:

無。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章