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