freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[工學(xué)]第6章運(yùn)算符重載與友元-資料下載頁

2024-10-19 00:24本頁面
  

【正文】 … class Complex //復(fù)數(shù)類 { public: Complex(double r=,double i=){real=r。image=i。} const double Real(){return real。} const double Imag(){return image。} //重載運(yùn)算符 +, 復(fù)數(shù)加復(fù)數(shù) friend const Complex operator+(const Complex amp。c1,const Complex amp。c2)。 //重載運(yùn)算符 +, 復(fù)數(shù)加實(shí)數(shù) friend const Complex operator+(const double d, const Complex amp。c)。 //重載運(yùn)算符 , 復(fù)數(shù)減復(fù)數(shù) friend const Complex operator(const Complex amp。c1,const Complex amp。c2)。 //重載運(yùn)算符 =, 為復(fù)數(shù)賦值 Complexamp。 operator=(Complex amp。c)。 private: double real,image。 }。 2021/11/10 第 6章運(yùn)算符重載與友元 47 const Complex operator+(const Complex amp。c1,const Complex amp。c2) { Complex temp。 =+。 //實(shí)部相加 =+。 //虛部相加 return temp。 } const Complex operator +(const double d, const Complex amp。c) { Complex temp。 = d + 。 =。 return temp。 } 2021/11/10 第 6章運(yùn)算符重載與友元 48 const Complex operator(const Complex amp。c1,const Complex amp。c2) { Complex temp。 =。 //實(shí)部相減 =。 //虛部相減 return temp。 } Complexamp。 Complex::operator=(Complex amp。c) { if(this != amp。c) //自賦值檢測(cè) { real=。 image=。 } return *this。 //*this表示當(dāng)前對(duì)象 } 2021/11/10 第 6章運(yùn)算符重載與友元 49 int main() { Complex c1(3,4),c2(5,6),c3,c4。 //定義復(fù)數(shù)類的對(duì)象 coutc1 = () + i()endl。 coutc2 = () + i()endl。 c3=c1+c2。 //重載運(yùn)算符 +、 =, 完成復(fù)數(shù)加復(fù)數(shù) coutc3 = c1 + c2 = () + i()endl。 c3=c3+。 //重載運(yùn)算符 +、 =, 完成復(fù)數(shù)加實(shí)數(shù) coutc3 + = () + i()endl。 c4=c2c1。 //重載運(yùn)算符 、 =, 完成復(fù)數(shù)減復(fù)數(shù) coutc4 = c2 c1 = () + i()endl。 return 0。 } 2021/11/10 第 6章運(yùn)算符重載與友元 50 ? 在 C++標(biāo)準(zhǔn)庫中,已經(jīng)為用戶提供了與復(fù)數(shù)有關(guān)的庫函數(shù),它們包含在 plex頭文件中。在實(shí)際應(yīng)用中,用戶只需要將此頭文件包含到源程序文件中即可。 ? 對(duì)于任何形參,如果僅需要從函數(shù)中讀而不改變它,默認(rèn)地應(yīng)該作為 const引用來傳遞它。 ? 所有賦值運(yùn)算均改變左值(左值是可以被賦值的表達(dá)式,位于賦值語句的左側(cè)),因此,所以賦值運(yùn)算的返回值對(duì)于左值應(yīng)該是非常量引用。 說明 2021/11/10 第 6章運(yùn)算符重載與友元 51 舉一反三 include iostream using namespace std。 class RMB //定義人民幣類 RMB { public: RMB(double value=) //構(gòu)造函數(shù) { yuan=(int)value。 jiao=(int)((valueyuan)*10)。 fen=(int)(value*100yuan*100jiao*10)。 } void print() { coutyuan元 jiao角 fen分 endl。 } operator double() //重載類型轉(zhuǎn)換運(yùn)算符 double, 沒有函數(shù)值類型 { return yuan + jiao* + fen*。 } private: int yuan,jiao,fen。 }。 2021/11/10 第 6章運(yùn)算符重載與友元 52 int main() { RMB a(),b()。 //定義 2個(gè) RMB類的對(duì)象 a、 b //將兩個(gè)對(duì)象 a、 b強(qiáng)制轉(zhuǎn)換為實(shí)數(shù),再相加,結(jié)果用于初始化對(duì)象 c RMB c=RMB((double)a+(double)b)。 ()。 ()。 ()。 return 0。 } 2021/11/10 第 6章運(yùn)算符重載與友元 53 本章小結(jié) ? 運(yùn)算符重載是賦予系統(tǒng)預(yù)定義的運(yùn)算符多重含義,使得預(yù)定義運(yùn)算符能夠?qū)︻悓?duì)象進(jìn)行運(yùn)算。運(yùn)算符重載實(shí)質(zhì)上就是函數(shù)重載,但不同的是,運(yùn)算符重載函數(shù)對(duì)參數(shù)個(gè)數(shù)有限制,并保持優(yōu)先級(jí)、結(jié)合性以及語法結(jié)構(gòu)不變等特性。 2021/11/10 第 6章運(yùn)算符重載與友元 54 本章小結(jié) ? 運(yùn)算符重載不是每個(gè)程序必須具有的功能,它的出現(xiàn)只是為了增加程序的易讀性。 ? 運(yùn)算符重載不是新的機(jī)制,其實(shí)質(zhì)是函數(shù)重載。與函數(shù)重載不同的是,運(yùn)算符重載在參數(shù)上有限制 。 ? 運(yùn)算符重載有兩種形式:重載為類的成員函數(shù)、重載為類的友元函數(shù)。當(dāng)運(yùn)算符重載為成員函數(shù)時(shí),左操作數(shù)一定是當(dāng)前對(duì)象本身,而重載為友元函數(shù)時(shí),該運(yùn)算符所涉及的所有操作數(shù)都必須出現(xiàn)在函數(shù)的參數(shù)列表當(dāng)中。操作數(shù)出現(xiàn)的順序按照參數(shù)從左到右出現(xiàn)的順序決定。 2021/11/10 第 6章運(yùn)算符重載與友元 55 ? 類的友元可以訪問類的所有成員。友元可以是普通函數(shù),其他類的成員函數(shù),也可以是其他類。友元關(guān)系既不能傳遞、也不能繼承、也不可逆。友元不是純面向?qū)ο蟮漠a(chǎn)物,它在類之間、類與普通函數(shù)之間共享了內(nèi)部封裝的數(shù)據(jù),破壞了類的封裝性,設(shè)計(jì)它的目的是為了實(shí)用。因此,在實(shí)際編程過程中,應(yīng)盡量避免使用友元。 2021/11/10 第 6章運(yùn)算符重載與友元 56 常見錯(cuò)誤 ? 臆造新的符號(hào)作運(yùn)算符 ? 運(yùn)算符重載為成員函數(shù)和友元函數(shù)時(shí)參數(shù)個(gè)數(shù)問題 ? 前綴與后綴運(yùn)算符重載的區(qū)分問題
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1