c 中過載《操作符

2021-07-02 11:59:48 字數 537 閱讀 6905

在類定義中,有時候我們需要直接利用cout來列印出類中的資料,此刻就需要過載《操作符來實現

假定定義了乙個類time

然後宣告了乙個類 time a;

cout《這樣的語法肯定是會報錯的,

此刻就需要過載operator<<

要怎麼做呢? 首先,在過載函式中,要訪問到類time中的私有成員的資料,所以我們需要定義這個函式為類time的友元函式,具體如下

class time{

friend std::ostream& operator<<(std::ostream & os , const time & t);

std::ostream operaotr<<(std::ostream & os , const time & t){

os<< t.hours<<"   "具體使用方法,假定寫入到乙個檔案中

fstream fout;

fout.open(123.txt);

time t(12 , 40);

fout以上就實現了將《過載的內容儲存到檔案123.txt中了

c 中 操作符過載

操作符過載 1.有先後順序,如 t3 t1 t2 則t1 t2等價於t1.operate t2 2.對 操作符進行過載時,如aa是有本質區別的。操作符過載就是用函式的方法對乙個操作符進行重新定義,在該函式中定義了操作符所要完成的功能。其中cout是輸出流ostream中的物件 元素 3.a cout...

C 中 操作符過載

在實際程式中遇到一操作符問題,記錄下來方便以後查詢。在寫hashtable資料結構中,遇到操作符過載問題,具體需求如下 1.a x b 如果a x 為空,則新增記錄 2.b a x 如果a x 為空,則提示出錯 對操作符過載之後發現根本不能解決問題,查詢一些資料後發現該問題為過載後的讀寫問題,乙個過...

C 中操作符過載

c 中除了能進行函式過載,還能對操作符進行過載,在分析操作符過載之前,我們先來看看下邊的 include include using namespace std class complex 定義乙個複數類 int geti int getj int main 實則編譯是無法通過的,因為c 中並沒有物...