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