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

正文內(nèi)容

第7章類和對(duì)象(完整版)

  

【正文】 ic: A ( ) { a =10 。 if(h0) hour=0。 ( 4) 程序中不能直接調(diào)用構(gòu)造函數(shù) , 構(gòu)造函數(shù)是在創(chuàng)建對(duì)象時(shí)由系統(tǒng)自動(dòng)調(diào)用的 。 } 如果調(diào)用這個(gè)成員函數(shù)時(shí)不給出實(shí)參,就可以把點(diǎn)設(shè)置為坐標(biāo)原點(diǎn)。 } double GetImage( ) { return image 。第一種方式是在類定義的說(shuō)明部分只給出成員函數(shù)的原型,成員函數(shù)體在類的外部,即類的實(shí)現(xiàn)部分定義。 本質(zhì)上,成員函數(shù)是程序算法的實(shí)現(xiàn)載體。 類中的數(shù)據(jù)成員可以是任何數(shù)據(jù)類型。 }; void Point :: SetPoint (double a , double b) //定義成員函數(shù) SetPoint( ) { x = a 。 封裝性來(lái)自對(duì)類成員的訪問(wèn)控制權(quán)限 。 類說(shuō)明部分 是用來(lái)聲明該類中的成員 。 1.類說(shuō)明部分 類說(shuō)明部分一般格式如下: class 類名 { private:(或缺省時(shí) ) 數(shù)據(jù)成員聲明或函數(shù)成員的原型; protected: 數(shù)據(jù)成員聲明或函數(shù)成員的原型; public: 數(shù)據(jù)成員聲明或函數(shù)成員的原型; }; 2.類實(shí)現(xiàn)部分 類的實(shí)現(xiàn)部分 , 包括所有在類體中說(shuō)明的成員函數(shù)的定義 。 3.類封裝和數(shù)據(jù)隱藏 例: 點(diǎn)類Point的定義 class Point{ private: double x , y ; public: void SetPoint(double x , double y) 。} 類實(shí)現(xiàn)部分: 類說(shuō)明部分: 定 義類 時(shí)說(shuō) 明部 分中 的關(guān) 鍵字 public 、 private 、protected從它們出現(xiàn)的位置起開(kāi)始生效 , 直到出現(xiàn)另一個(gè)訪問(wèn)權(quán)限關(guān)鍵字為止 。 public: ┆ }。在許多情況下內(nèi)聯(lián)函數(shù)是隱式定義的。 public: void SetRealImage (double r , double i ) { real = r 。 普通函數(shù)可以帶缺省形參值 , 類的成員函數(shù)的形參也可以設(shè)置缺省值 , 其定義方法和調(diào)用規(guī)則與普通函數(shù)相同 。 有隱含的返回值 , 該值由系統(tǒng)內(nèi)部使用 。 if(m0) minute=0。 void main() { Clock aClock(100,100,200)。 注意:不能用以下方式創(chuàng)建 A類對(duì)象 A a1()。 [3] 一個(gè)類中只能有一個(gè)析構(gòu)函數(shù) , 這一點(diǎn)與構(gòu)造函數(shù)不同 。} // 析構(gòu)函數(shù) double GetX ( ) {return x 。 a = ( ) ( ) 。當(dāng)實(shí)例化該類對(duì)象沒(méi)有指明參數(shù)時(shí),編譯系統(tǒng)便按無(wú)參構(gòu)造函數(shù)來(lái)初始化該對(duì)象。只要建立對(duì)象,構(gòu)造函數(shù)馬上就被調(diào)用,進(jìn)行實(shí)例化和初始化工作。 對(duì)象的生存期 特別值得一提的是全局對(duì)象的定義 。當(dāng)一個(gè)類的成員是某個(gè)類的對(duì)象時(shí),該成員叫做類的對(duì)象成員。 include class A{ int a1,a2。} void printB ( )。 void B::printB( ){ ( )。 coutb1endl。 不同的對(duì)象變量可以自己的數(shù)據(jù)成員和函數(shù)成員 。 //定義類 Exe的對(duì)象 obj和類 Exe的對(duì)象的指針 p ( )。 public: A( ) {a = 0 。 ( )。而將成員函數(shù) print()轉(zhuǎn)換成如下形式: void print( A *this) { coutthisa”, ”this b endl 。 定義 p是類 Point的對(duì)象的引用 , 初始化為引用 Point對(duì)象 A, 這里要求 A已經(jīng)有定義 , 而引用 p僅僅是它的別名 。 y = j 。 // 通過(guò)對(duì)象引用 q調(diào)用成員函數(shù) (10,15)。 因此函數(shù)中對(duì)對(duì)象的任何修改均不影響調(diào)用函數(shù)的對(duì)象本身 。 } void main( ) { A r(10)。 include class A{ int x,y。} void print( ) {coutx”,”yendl 。 ()。 include class A{ int x,y。 y = j 。 ( )。 只是賦初值和賦值的方法不同于普通數(shù)組 。 } 。 public: Point(){x = y = 0 。i++) // 通過(guò)雙重 for循環(huán)給 point對(duì)象數(shù)組各元素賦值 for(int j=0。j++) (*(*(p+i)+j)).print()。 b = y 。 for(int i=0。 ptr = new Point(, )。 pc = new Complex [10] 。 cout”Constructor called”endl。 語(yǔ)句時(shí)三次調(diào)用了析構(gòu)函數(shù) 。因?yàn)闊o(wú)論建立多少個(gè)類的對(duì)象,都只有一個(gè)靜態(tài)數(shù)據(jù)成員的拷貝,即對(duì)多個(gè)對(duì)象來(lái)說(shuō),靜態(tài)數(shù)據(jù)成員只存儲(chǔ)一處,供所有對(duì)象共用。 int obj_ID。 void main() { counter ob1,ob2,ob3,ob4,ob5。 } double GetY( ) {return y 。 // 輸出對(duì)象序號(hào) Point B(, )。靜態(tài)成員函數(shù)和靜態(tài)數(shù)據(jù)成員一樣,屬于類的靜態(tài)成員,而不屬于某個(gè)對(duì)象,由同一個(gè)類的所有對(duì)象共同維護(hù),為這些對(duì)象所共有。 void A::fun(A a) { cout”x = “endl 。 例如 cout”y = “y。 Application ( ){}。 instance = new Application。 } 例:?jiǎn)螌?shí)例對(duì)象模式 Application類的定義為私有的 , 只能通過(guò)公有成員函數(shù)init()間接訪問(wèn) 。 coutcount=Application::countendl。 public: counter() { count++。 友元既可以是不屬于任何類的一般函數(shù) , 也可以是另一個(gè)類的成員函數(shù) , 還可以是整個(gè)的一個(gè)類 。 y = b 。p2)// 在類體外定義友元函數(shù) { double dx= 。 } 執(zhí)行程序,輸出: ( 3. 0, 4. 0) ( 6. 0, 8. 0) Distance is : 友元函數(shù)一般帶有一個(gè)本類對(duì)象作入口參數(shù) 。 static int y 。 // 友元類 Y的構(gòu)造函數(shù)中訪問(wèn)類 X的靜態(tài)私有數(shù)據(jù)成員 } void print ( ) 。 Y c (6 , 9)。 public: X( int a ,char *str) { x = a 。 public: Y( int b,char *str) { y = b 。 cout”the string of Y is:”endl 。ob) 。 } void print() { coutnameis age years old.endl。 ()。 void main(){ Member obj1( 35, Tom), obj2( 57, Johnson)。 對(duì)象的內(nèi)存映象 real image real image c1 c2 real image real image C[0] C[1] real image real image … C[9] Complex c1, c2, *pc, c[10]; 定義的 Complex類的對(duì)象內(nèi)存分配情況如右圖所示: 0X00F25D44 pc 類方法代碼在內(nèi)存代碼段中,只有一份拷貝,被該類 所有對(duì)象共享。 Y b(20 , “stringy”)。 strcpy(stry , str) 。 strcpy(strx,str) 。 ( )。 int X::y = 1 。 // 在類的私有部分說(shuō)明類 Y是類 X的友元類 public: void set(int a) {x = a。 而必須通過(guò)作為入口參數(shù)傳遞進(jìn)來(lái)的對(duì)象名 、 或者對(duì)象指針 、或者對(duì)象引用來(lái)訪問(wèn)該對(duì)象的私有或保護(hù)成員 。 return sqrt(dx*dx+dy*dy) 。 } friend double distance(Point amp。 友元函數(shù) 友元函數(shù)不是本類的成員函數(shù) , 而是獨(dú)立于本類的外部函數(shù) , 本類允許友元函數(shù)通過(guò)對(duì)象名訪問(wèn)它的私有和保護(hù)成員 。 } void show() { coutobj objnumber 。語(yǔ)句 , 則程序輸出: Single instance has created, OK!!! count=1 count=1 Can39。 ptr=Application::init()。 return instance。 ~Application ( )。 在類體外定義時(shí) , 不要用 static前綴 。 } void main( ) { A P(6) , Q(8) 。 static int y 。 ( )。} void Print ( ) {coutThe point is : ( x , y) endl。 } class Point { double x , y 。 obj_ID=count。 靜態(tài)數(shù)據(jù)成員的初始化與一般數(shù)據(jù)成員的初始化不同 , 其格式如下: 數(shù)據(jù)類型 類名::靜態(tài)數(shù)據(jù)成員名 =值; 這表明: ( 1) 初始化是在類體外進(jìn)行的 , 在類中不為它分配內(nèi)存空間 。 程序運(yùn)行結(jié)果: Constructor called Constructor called Constructor called Destructor called Destructor called Destructor called 類的靜態(tài)成員 類的靜態(tài)成員是為了解決同一個(gè)類的不同對(duì)象的數(shù)據(jù)共享和函數(shù)共享問(wèn)題 。} } 。 用 new創(chuàng)建對(duì)象數(shù)組 用 delete運(yùn)算符刪除對(duì)象或?qū)ο髷?shù)組。此時(shí) new 操作將返回一個(gè)空指針( NULL)。 i++) pa[i]print( )。 } }。 } } (2) 指向?qū)ο髷?shù)組的指針 指向?qū)ο髷?shù)組的指針定義格式為: 類名 ( *〈 指針名 〉 ) [下標(biāo)說(shuō)明 ] 例如: Date (*pd)[4] 。j++) point[i][j]=Point(i+10, j+15)。 y = b 。 dates[2]=Date (1998,8,9) 。 class Date { int year, month, day 。 f(a,b)。} }。} A(int i ,int j ) {x = i 。b)。 void f (A a1, A *a2) //第一個(gè)形參是對(duì)象 ,第二個(gè)形參是對(duì)象指針 { (5,6)。}
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1