C 結構體的建構函式以及運算子的過載

2021-07-28 00:18:58 字數 548 閱讀 3915

由於結構體經常用到,所以對結構體的用法做了一下整理

#includeusing namespace std;

struct node

//建構函式

//過載輸出流

friend ostream& operator<<(ostream&out,const node &p)

//過載<,成員函式

bool operator<(const node&p)const

//過載+,呼叫建構函式

friend node operator+(const node&a,const node&b)

};int main()

{ int x;

node a(1,2),b(3,4); //初始化

couta)

{cout<

其中值得注意的是對於流的過載,ostream後的&盡量加上

如果寫成這樣   ostream operator << (ostream& os, point& pt) 

則:point a, b;

cout<

C 預設的建構函式以及運算子過載關鍵點

1 預設情況下編譯器為乙個類定義那些建構函式?如果我們沒有定義乙個類的預設建構函式,編譯器就會自動定義乙個函式體為空的建構函式。另外,編譯器還可以自動定義operator 賦值函式,來進行同一類的物件之間的賦值。還有,經過測試,編譯器還會自動新增 複製建構函式 2 一般情況下,我們把二元操作符定義成...

C 類與物件 拷貝建構函式以及運算子過載

本篇講述以上兩種預設函式 我們可以建立乙個物件,那麼能否再建立乙個和這個物件一模一樣的的新的物件呢?這就引入了拷貝建構函式 拷貝建構函式與之前講的建構函式一樣,函式名為類名,當用已存在的類型別的物件建立新的物件時,編譯器會自動呼叫拷貝建構函式。class a1 private int a doubl...

C 友元函式以及運算子過載

一 友元函式的作用 函式的私有和保護變數在類內可以訪問,在類外只可訪問公有變數 派生類在類內只可訪問其基類的公有變數和保護變數,在類外只可訪問其公有變數 要看具體的繼承型別 因此,在有些情況下,需要訪問類的私有或保護變數時,不得不呼叫其成員函式,因為只有成員函式才有訪問的許可權。因而多出許多時間開銷...