C 中左移運算子的過載

2021-10-21 20:34:21 字數 490 閱讀 8466

1.不要濫用運算子過載,除非有需求

2.不能對內建的資料型別進行過載

3.對於自定義的資料型別,不可以直接用cout << 輸出,需要過載左移運算子

4.如果利用成員函式過載,無法實現cout在左側,因此不用成員過載

5.利用全域性函式實現左移運算子過載

6如果想訪問類中私有的內容可以配合全域性友元函式實現

#define _crt_secure_no_warnings

#includeusing namespace std;

class person

private:

int m_a;

int m_b;

};//利用全域性函式來實現左移運算子過載

ostream& operator<<(ostream &cout, person &p1)

void test01()

int main()

C 左移運算子過載

通過cout 物件,列印出複數的實部和虛部,這樣一來,就需要過載cout類的位移 運算函式,但是我們並不能拿到cout原始碼,在visual studio我們看到的也僅僅是他的定義 若想訪問c1的私有屬性,則應當宣告為友元函式 通過定義可以看出cout類的返回值是ostream型別的變數out vo...

c ,左移運算子的過載

在c 中,提供了運算子過載的方式,來讓程式的可用性更強 這裡,介紹一下左移運算子 左移運算子的過載可以幫助我們更好的輸出自定義的資料型別,可以做到簡潔,在不浪費更多 行的情況下,使用函式,來輸出類中的成員屬性資料 這裡我們先建立乙個類 將成員屬性設定為私有,當然設定為公共型別也可以,設定私有型別是為...

左移運算子過載

1.作用 可以輸出自定義資料型別,比如輸出乙個類物件。includeusing namespace std include 左移 運算子過載 class person private 加入利用成員函式過載左移運算子 p.operator cout 簡化版本 p void operator cout ...