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

正文內(nèi)容

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

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

【正文】 運(yùn)算符重載與友元 36 void student::display(date amp。 int day。 //友元類(lèi)聲明 public: date(int y = 2021,int m = 1,int d = 1) : year(y),month(m),day(d) {} private: int year。 }。 string name。)。 } void display(date amp。 name = pname。 class date。這是 , 可以通過(guò)下載相關(guān)補(bǔ)丁程序彌補(bǔ)該缺陷 ,在 VC++的后續(xù)版本中不存在這個(gè)缺陷。 ? 在例 64中,對(duì) MyString類(lèi)和友元函數(shù) operator==進(jìn)行了前向聲明, 從語(yǔ)法上講,這個(gè)前向聲明應(yīng)該是不必要的 。而友元函數(shù)的實(shí)現(xiàn)既可以在 MyString類(lèi)外實(shí)現(xiàn)也可以在類(lèi)中實(shí)現(xiàn)。 return 0。 if(How == s) cout兩字符串比較結(jié)果: equalendl。 return strlen(str2) ? false : true。 } bool operator==( const MyString amp。str2 ) { if ( strlen(str1) != ) return false。 return ? false : true。str1, const MyString amp。 //字符串中的字符元素集合 }。 private: unsigned int len。 friend bool operator==( const MyString amp。 friend bool operator==( const char *, const MyString amp。, const MyString amp。 //求字符串長(zhǎng)度 char * c_str()。 //定義復(fù)制構(gòu)造函數(shù) ~MyString()。 //定義構(gòu)造函數(shù) MyString(const MyString amp。, const char *)。)。)。 bool operator==( const MyString amp。 – friend class 類(lèi)名 。 ? 友元聲明以關(guān)鍵字 friend開(kāi)始 , 只能出現(xiàn)在被訪問(wèn)類(lèi)的定義中 。如果友元是一個(gè)類(lèi),則稱(chēng)為友元類(lèi)。 友元 2021/11/10 第 6章運(yùn)算符重載與友元 29 ? 友元可以是一個(gè)全局函數(shù),也可以是一個(gè)類(lèi)的成員函數(shù),還可以是一個(gè)類(lèi)。有時(shí),需要頻繁地調(diào)用成員函數(shù)來(lái)訪問(wèn)私有成員,這就存在一定的系統(tǒng)開(kāi)銷(xiāo)。 – return strcmp ( pstr, () ) ? false : true。 2021/11/10 第 6章運(yùn)算符重載與友元 26 不能重載的運(yùn)算符 不能重載的運(yùn)算符 說(shuō) 明 :: 作用域運(yùn)算符 . 成員訪問(wèn)運(yùn)算符 .* 指向成員的指針 ?: 條件運(yùn)算符 條件運(yùn)算符 求表達(dá)式或數(shù)據(jù)類(lèi)型所占存儲(chǔ)空間字節(jié)數(shù) sizeof 用于運(yùn)行時(shí)類(lèi)型信息 ( RTTI)的識(shí)別 , 指出指針或引用指向的對(duì)象的實(shí)際派生類(lèi)型 2021/11/10 第 6章運(yùn)算符重載與友元 27 思考 ? 能否在例 63中實(shí)現(xiàn) – if(How ==s )???? ? 是否可以將 operator==實(shí)現(xiàn)為如下形式? – bool operator== (const char *pstr, const MyString amp。 ? 重載之后運(yùn)算符的優(yōu)先級(jí)和結(jié)合性都不會(huì)改變,并且要保持原運(yùn)算符的語(yǔ)法結(jié)構(gòu)。 ? 運(yùn)算符重載使系統(tǒng)預(yù)定義的運(yùn)算符可以作用于用戶自定義類(lèi)型,但絕不能改變運(yùn)算符原有的優(yōu)先級(jí)、結(jié)合性以及語(yǔ)法結(jié)構(gòu)。 } if(How == s) 是否可以? 2021/11/10 第 6章運(yùn)算符重載與友元 24 說(shuō)明 ? 在重載賦值運(yùn)算符時(shí), 要注意進(jìn)行自賦值檢測(cè) 。 s1= Fine。 if(s == How) cout兩字符串比較結(jié)果: equalendl。 } 2021/11/10 第 6章運(yùn)算符重載與友元 23 int main() { MyString s(How are you?), s1 = s。 } bool MyString::operator==(const char *pstr) { if(len != strlen(pstr)) return false。pstr) { //如果相等,返回 true, 否則 false if(len!= ) return false。 } return elems[i]。 MyString::operator[](unsigned int i) { if(i=0 || ilen) //判斷下標(biāo)是否出界 { coutIndex out of boundaryendl。 } return *this。 elems = new char[len+1]。 } else { len = strlen(pstr)。 delete[] elems。 } 2021/11/10 第 6章運(yùn)算符重載與友元 20 重載 operator= MyString amp。 strcpy( elems, )。 delete[] elems。obj) { if( this != amp。 } } 賦值構(gòu)造函數(shù) 2021/11/10 第 6章運(yùn)算符重載與友元 19 重載 operator= MyString amp。 strcpy( elems, )。str ) //避免向自身賦值 { unsigned int size = +1。 2021/11/10 第 6章運(yùn)算符重載與友元 18 MyString::MyString(const MyString amp。 //字符串所占空間大小 char *elems。 //重載運(yùn)算符 == bool operator ==(const char *)。 //重載運(yùn)算符 [] bool operator ==(const MyString amp。 char amp。 //重載運(yùn)算符 = MyString amp。 operator=( const MyString amp。 //求字符串長(zhǎng)度 char * c_str()。 //定義復(fù)制構(gòu)造函數(shù) ~MyString()。 //定義構(gòu)造函數(shù) MyString(const MySt
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1