友元類的使用方法
學習友元函式之後,我們再來看友元類,也是一樣的道理和使用方法,如果把一個類A宣告為另一個類B的友元類,則類A中的所有成員函式都可以訪問B類中的成員。使用方法也一樣,在類B中進行宣告即可。
還是上一節的程式功能,我們稍作更改:
include
include
using namespace std;
class Point { private: double x; double y; public: Point(double a,double b) { x = a; y = b; } int GetPoint() { cout<<"("<
}
friend class Tool;
};
class Tool { public: double GetX(Point &A) { cout<
int main() { Point A(2.0,3.0); Tool T; T.GetX(A); T.GetY(A); T.dis(A); return 0; } 可以看到我們又定義了一個工具類,可以獲取一個點類的橫、縱座標以及求出這個點距離原點的距離,由三個方法實現,封裝到一個類Tool裡。並且在Point類裡進行友元類的宣告,可以看到使用方法。
youyuanlei.png
請大家多體會友元的作用,明白友原的意義。
最後我們總結友元機制的優缺點總結如下:
優點:更方便快捷的訪問類內的私有成員
缺點:打破了C++中的封裝思想
大家合理使用友元!
相關文章
- 友元函式的使用方法函式
- 類别範本與友元
- 友元
- 07友元
- C++中的友元C++
- C++類將函式模板宣告為友元 例項C++函式
- 其他成員與友元
- C++——內聯,友元C++
- Python中類的建立和使用方法Python
- Python的元類Python
- Java StringTokenizer 類使用方法概述Java
- 元類
- 理解Python中的元類Python
- 元類:Metaclass
- Python 元類Python
- CSS選擇器種類及使用方法CSS
- Python元類與列舉類Python
- 23. 元類
- 元類詳解
- Python如何自定義元類Python
- 由ORM談Python元類ORMPython
- Python 的元類設計起源自哪裡?Python
- Markdown的使用方法
- docker的使用方法Docker
- SerialPort的使用方法
- VIM 的使用方法
- 四,Java運算子詳細分類及使用方法介紹Java
- OC底層原理之例項、類物件、元類物件物件
- React 路由的使用方法React路由
- axios baseURL 的使用方法iOS
- docker的基本使用方法Docker
- bootstrap Table的使用方法boot
- 【Spark篇】---SparkStreaming中運算元中OutPutOperator類運算元Spark
- c++單例模式、常量成員函式、引數傳遞、友元C++單例模式函式
- 2.1.5 Python元類深刻理解(metaclass)Python
- Python學習之路41-元類Python
- 友鏈
- 友鏈~