9月22日,陣雨。今天上午老師帶著我們學(xué)習(xí)了運(yùn)算符重載。
重載就是根據(jù)自己的需要對C++已提供的運(yùn)算符進(jìn)行重載,賦予新的含義。
實(shí)現(xiàn)時(shí),我們首先把指定的運(yùn)算表達(dá)式轉(zhuǎn)化為對運(yùn)算符函數(shù)的調(diào)用,這個(gè)過程是在編譯中完成的。
運(yùn)算符重載的一般格式為:
類型名 operator? 運(yùn)算符 (形參表){函數(shù)體}
類型名為重載運(yùn)算符的返回類型,即運(yùn)算結(jié)果類型。
operator 類型名();
沒有參數(shù),沒有返回類型,(其返回類型由函數(shù)名字指定)但是函數(shù)體中必須包含return語句。
使用運(yùn)算符重載,只能重載C++中已有的運(yùn)算符,不允許創(chuàng)建新的運(yùn)算符。除“.”(成員選擇符)、“.*”(成員對象選擇符)、“->*(成員指針選擇符)”、“::”、“?:”、“sizeof”外)都可以被重載。
運(yùn)算符的重載既不會改變原運(yùn)算符的優(yōu)先級和結(jié)合性。但是至少有一個(gè)操作對象是自定義類型,參數(shù)都是基本類型時(shí)不能重載。而且不提倡改變參數(shù)個(gè)數(shù)、運(yùn)算符含義。在重載運(yùn)算符的函數(shù)中不能有默認(rèn)的參數(shù)。
賦值運(yùn)算符重載
拷貝構(gòu)造函數(shù)和賦值操作符都是用來拷貝一個(gè)類的對象給另一個(gè)同類型的對象。
拷貝構(gòu)造函數(shù):將一個(gè)對象拷貝到另一個(gè)新對象。
賦值運(yùn)算符:將一個(gè)對象為另一個(gè)已經(jīng)存在的對象賦值。
而編譯器提供默認(rèn)的拷貝構(gòu)造函數(shù)和賦值運(yùn)算符的運(yùn)作機(jī)制。
就是將對象中的每個(gè)數(shù)據(jù)成員拷貝到目標(biāo)對象相應(yīng)的數(shù)據(jù)成員中。
下午娛樂委員帶我們做了游戲,在歡聲笑語中,結(jié)束了今天一天的學(xué)習(xí)。拉近了我們同學(xué)直間的友誼,勞逸結(jié)合,感覺非常好。愛學(xué)習(xí),會學(xué)習(xí),學(xué)好習(xí)!