類的對象之間進(jìn)行的算法運(yùn)算符,關(guān)系運(yùn)算符,輸入輸出 假設(shè)#是運(yùn)算符號 類nameclass的友元函數(shù)重載名稱operator# 如x,y都是類nameclass的生成的對象,如果重載并實(shí)現(xiàn)了友元函數(shù) operator# 我們可以做這樣的計(jì)算x # y,編譯器會(huì)自動(dòng)翻譯成如下operator#(x,y) 計(jì)算順序是: x op y變成op(x,y),運(yùn)算結(jié)果存入到新的臨時(shí)對象,operator+(x,y) 絕對無對象指針this,返回值不會(huì)存入到x,y,而是返回新的臨時(shí)對象 第一個(gè)操作數(shù)是類的對象x, 第二個(gè)操作數(shù)是參數(shù)y, 對象X與Y的數(shù)據(jù)成員逐個(gè)一一相加, 返回結(jié)果:建立一個(gè)新的返回對象,如算術(shù)運(yùn)算符返回另一個(gè)對象,關(guān)系運(yùn)算符返回bool值 類的運(yùn)算符重載的友元函數(shù)實(shí)現(xiàn)格式 友元函數(shù)定義格式 friend returntype operator op(const classname&,const classname&)const; 友元函數(shù)實(shí)現(xiàn)格式 returntype operator op(const classname&,const classname&) { //代碼控制 return (values); }
|