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

正文內(nèi)容

[工學(xué)]面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言c第05章運(yùn)算符重載-資料下載頁(yè)

2025-10-04 22:20本頁(yè)面
  

【正文】 =[n]。 } //end of if return *this。 } 第五章 引論 ? 類(lèi)型轉(zhuǎn)換運(yùn)算符的重載 類(lèi)型轉(zhuǎn)換是將一種類(lèi)型的值轉(zhuǎn)換為另一種類(lèi)型的值 。 對(duì)于類(lèi)類(lèi)型 , 是否也存在一種類(lèi)型轉(zhuǎn)換機(jī)制 , 使得類(lèi)對(duì)象之間能進(jìn)行類(lèi)型轉(zhuǎn)換 ? 一般 , 類(lèi)對(duì)象的類(lèi)型轉(zhuǎn)換可由 構(gòu)造函數(shù) 和 轉(zhuǎn)換函數(shù) 實(shí)現(xiàn) 。 這種轉(zhuǎn)換常稱(chēng)為用戶(hù)定義的 類(lèi)型轉(zhuǎn)換或類(lèi)類(lèi)型轉(zhuǎn)換 。 在 C++中 , 類(lèi)被視為用戶(hù)定義的類(lèi)型 , 可以像系統(tǒng)預(yù)定義類(lèi)型一樣進(jìn)行類(lèi)型轉(zhuǎn)換 。 58 第五章 引論 ? 類(lèi)型轉(zhuǎn)換運(yùn)算符的重載 C++語(yǔ)言允許的類(lèi)型轉(zhuǎn)換有 4種: 標(biāo)準(zhǔn)類(lèi)型 標(biāo)準(zhǔn)類(lèi)型 標(biāo)準(zhǔn)類(lèi)型 類(lèi)類(lèi)型 類(lèi)類(lèi)型 標(biāo)準(zhǔn)類(lèi)型 類(lèi)類(lèi)型 類(lèi)類(lèi)型 59 第五章 引論 ? 類(lèi)型轉(zhuǎn)換運(yùn)算符的重載 標(biāo)準(zhǔn)類(lèi)型轉(zhuǎn)換為類(lèi)類(lèi)型 可以通過(guò)自定義的 重載賦值號(hào) “=”的函數(shù)和 構(gòu)造函數(shù)實(shí)現(xiàn)標(biāo)準(zhǔn)類(lèi)型 類(lèi)類(lèi)型;它們都需要有標(biāo)準(zhǔn)類(lèi)型的參數(shù) 。 具有標(biāo)準(zhǔn)類(lèi)型參數(shù)的構(gòu)造函數(shù)說(shuō)明了一種從參數(shù)類(lèi)型到該類(lèi)類(lèi)型的轉(zhuǎn)換 。 ( 例 524/25) 60 class INTEGER { int num。 public: INTEGER (int i)。 INTEGER (const char * str)。 }。 INTEGER::INTEGER(int i) {num=i。 } INTEGER::INTEGER(const char *str) { num=strlen(str)。 } void main() { INTEGER obj1= 1; INTEGER obj2=Cheng。 obj1=20。 //=(INTEGER(20))。 obj2==Du 。 /* (INTEGER(3))。*/ } 第五章 引論 ? 類(lèi)型轉(zhuǎn)換運(yùn)算符的重載 類(lèi)類(lèi)型轉(zhuǎn)換函數(shù) 帶一個(gè)參數(shù)的構(gòu)造函數(shù)可以進(jìn)行類(lèi)型轉(zhuǎn)換 , 但是它的轉(zhuǎn)換功能很受限制 。 引入一種特殊的成員函數(shù): 類(lèi)型轉(zhuǎn)換函數(shù) , 它在類(lèi)對(duì)象之間提供一種類(lèi)似顯式類(lèi)型轉(zhuǎn)換的機(jī)制 。 62 第五章 引論 ? 類(lèi)型轉(zhuǎn)換運(yùn)算符的重載 類(lèi)類(lèi)型轉(zhuǎn)換函數(shù) C++允許程序員為類(lèi)定義一個(gè)類(lèi)型轉(zhuǎn)換函數(shù) , 它的語(yǔ)法是 Class_Name::operator type( ) { … return (type類(lèi)型的實(shí)例 )。 } 類(lèi)型轉(zhuǎn)換函數(shù) 沒(méi)有參數(shù) , 沒(méi)有返回類(lèi)型 , 但這個(gè)函數(shù)體內(nèi)必須有一條 返回語(yǔ)句 , 返回一個(gè) type類(lèi)型的實(shí)例 。 63 第五章 引論 ? 類(lèi)型轉(zhuǎn)換運(yùn)算符的重載 類(lèi)類(lèi)型轉(zhuǎn)換函數(shù) class INTEGER { int num。 public: INTEGER(int anint=0) { num=anint。 } operator int( ) { return num。 } }。 64 void main( ) { INTEGER obj(12)。 int anint=int(obj)。 anint=(int)obj。 anint=obj。 // int( ) } ? 實(shí)現(xiàn)一個(gè) Point類(lèi) ( 數(shù)據(jù)成員為一個(gè)點(diǎn)在兩維直角坐標(biāo)系內(nèi)的坐標(biāo) ) ; 實(shí)現(xiàn)一個(gè) Vector類(lèi) ( 數(shù)據(jù)成員為一個(gè)點(diǎn)在兩維極坐標(biāo)系內(nèi)的坐標(biāo) ) ; 要求兩個(gè)類(lèi)的對(duì)象能互相賦值 。 include include const double PI=。 class Vector。 class Point{ friend Vector。 int x。 int y。 public: Point(int initx=0,int inity=0) {x=initx。y=inity。} operator Vector( )。 friend ostream amp。 operator (ostream amp。 s,Point obj) {s,\n。 return s。 } }。 class Vector{ friend Point 。 double p。 double seta。 public: Vector(double initp=0,double initseta=0) {p=initp。seta=initseta。} operator Point( )。 friend ostream amp。 operator (ostream amp。 s,Vector obj) {s‘,’‘\n’。 return s。} }。 Vector::operator Point( ) { Point Pobj。 =p*cos(seta)。 =p*sin(seta)。 return Pobj。 } Point::operator Vector( ) {Vector Vobj。 =sqrt(x*x+y*y)。 if (x==0) { if (y0) =PI/2。 else if (y0 ) =3*PI/2。 else =0。 } else =atan(y/x)。 return Vobj。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1