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

正文內(nèi)容

[工學(xué)]第6章運(yùn)算符重載與友元-wenkub.com

2024-10-16 00:24 本頁(yè)面
   

【正文】 友元不是純面向?qū)ο蟮漠a(chǎn)物,它在類(lèi)之間、類(lèi)與普通函數(shù)之間共享了內(nèi)部封裝的數(shù)據(jù),破壞了類(lèi)的封裝性,設(shè)計(jì)它的目的是為了實(shí)用。操作數(shù)出現(xiàn)的順序按照參數(shù)從左到右出現(xiàn)的順序決定。 ? 運(yùn)算符重載不是新的機(jī)制,其實(shí)質(zhì)是函數(shù)重載。 return 0。 //定義 2個(gè) RMB類(lèi)的對(duì)象 a、 b //將兩個(gè)對(duì)象 a、 b強(qiáng)制轉(zhuǎn)換為實(shí)數(shù),再相加,結(jié)果用于初始化對(duì)象 c RMB c=RMB((double)a+(double)b)。 } operator double() //重載類(lèi)型轉(zhuǎn)換運(yùn)算符 double, 沒(méi)有函數(shù)值類(lèi)型 { return yuan + jiao* + fen*。 class RMB //定義人民幣類(lèi) RMB { public: RMB(double value=) //構(gòu)造函數(shù) { yuan=(int)value。在實(shí)際應(yīng)用中,用戶(hù)只需要將此頭文件包含到源程序文件中即可。 c4=c2c1。 c3=c1+c2。 } return *this。 Complex::operator=(Complex amp。 =。 return temp。 } const Complex operator +(const double d, const Complex amp。c2) { Complex temp。 private: double real,image。c2)。 //重載運(yùn)算符 +, 復(fù)數(shù)加實(shí)數(shù) friend const Complex operator+(const double d, const Complex amp。} const double Imag(){return image。但重載 “ ++” 和 “ ” 運(yùn)算符時(shí), C++約定,如果在參數(shù)表中放一個(gè)整形參數(shù),則表示重載的運(yùn)算符為后綴運(yùn)算符。 ? 運(yùn)算符重載為成員函數(shù)后,它可以自由地訪(fǎng)問(wèn)類(lèi)的所有成員。 Hour++。 } 2021/11/10 第 6章運(yùn)算符重載與友元 44 void Clock::operator++(int)//后綴單目運(yùn)算符重載函數(shù)的實(shí)現(xiàn) { Second++。 if(Minute=60) { Minute=Minute60。 }。 void ShowTime()。 return 0。 coutt2:。 2021/11/10 第 6章運(yùn)算符重載與友元 40 int main() { Triangle t1(3,4,5),t2(4,5,6)。t2) { return +。 area=sqrt(s*(sx)*(sy)*(sz))。 x=i。 但 A類(lèi)的成員不能訪(fǎng)問(wèn) B類(lèi)的私有成員和保護(hù)成員 , 除非聲明 A類(lèi)是 B類(lèi)的友元 。 ? 可以將全局函數(shù) 、 類(lèi) 、 類(lèi)的成員函數(shù)聲明為友元 。 (d1,d2)。 coutBirthDate: endl。d1, date amp。 int month。 string dept。,date amp。 //類(lèi)的前向聲明 class student { public: student(char *pid, char *pname, char *pdept) { id = pid。但是在 ,這個(gè)前向聲明是必須的。 } 2021/11/10 第 6章運(yùn)算符重載與友元 33 說(shuō)明 ? 友元函數(shù) operator==是一個(gè)全局函數(shù),但作為 MyString類(lèi)的友元,它只能在 MyString類(lèi)中聲明。 } 2021/11/10 第 6章運(yùn)算符重載與友元 32 int main() { MyString s(How are you?)。 return strlen(str1) str2. len ? false : true。str2) { if ( != ) return false。 //字符串所占空間大小 char *elems。)。 //取得該字符串 friend bool operator==( const MyString amp。)。 bool operator==( const MyString amp。, const MyString amp。具體格式如下 – friend 函數(shù)值類(lèi)型 函數(shù)名 (參數(shù)表 )。如果友元是函數(shù),則稱(chēng)為友元函數(shù)。 – } – 其中 , 第一個(gè)參數(shù) pstr代表運(yùn)算符 ==的左操作數(shù) , 第二個(gè)參數(shù) str1代表右操作數(shù) 2021/11/10 第 6章運(yùn)算符重載與友元 28 ? 根據(jù)類(lèi)的封裝性,一般將數(shù)據(jù)成員聲明為私有成員,外部不能直接訪(fǎng)問(wèn),只能通過(guò)類(lèi)的公有成員函數(shù)對(duì)私有成員進(jìn)行訪(fǎng)問(wèn)。參數(shù)和函數(shù)值類(lèi)型都可以重新說(shuō)明。所謂自賦值是指將對(duì)象賦值給它本身。 else cout兩字符串比較結(jié)果: unequalendl。 return strcmp(elems,pstr) ? false : true。 } 2021/11/10 第 6章運(yùn)算符重載與友元 22 重載 operator== bool MyString::operator==(const MyString amp。 } 2021/11/10 第 6章運(yùn)算符重載與友元 21 重載 operator[] //返回第 i個(gè)位置的字符 charamp。 delete[] elems。 MyString::operator=( const char *pstr) { if( ! pstr) // pstr是個(gè)空指針 { len = 0。 elems = new char[len+1]。 MyString::operator=(const MyString amp。 elems = new char[size]。 //字符串中的字符元素集合 }。)。 operator=( const char *)。 //取得該字符串 MyString amp。)。 2021/11/10 第 6章運(yùn)算符重載與友元 16 ? operator是進(jìn)行運(yùn)算符重載的關(guān)鍵字 ? 參數(shù)表 是該運(yùn)算符涉及的操作數(shù) ? 運(yùn)算符重載為成員函數(shù) 最多有一個(gè)形參 ? 運(yùn)算符重載的 實(shí)質(zhì)就是函數(shù)重載 ,只不過(guò)函數(shù)名換成了關(guān)鍵字 operator和具體要重載的運(yùn)算符了 ? 但是運(yùn)算符重載也有別于函數(shù)重載 , 運(yùn)算符重載的函數(shù)參數(shù) 就是該運(yùn)算符涉及的操作數(shù) , 因此運(yùn)算符重載在參數(shù)個(gè)數(shù)上是有限制的 , 這是它不同于函數(shù)重載之處 。 //重載運(yùn)算符 void operator=(Complex amp。 Complex operator+( double d)。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1