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

正文內(nèi)容

第7章類和對(duì)象(存儲(chǔ)版)

  

【正文】 類已創(chuàng)建的對(duì)象計(jì)數(shù)或編號(hào)。 例 對(duì)象計(jì)數(shù)模式。 count++ 。 coutPoint A (( ),( )) 。 靜態(tài)成員函數(shù) 靜態(tài)成員函數(shù)可以直接訪問(wèn)該類的靜態(tài)數(shù)據(jù)成員和成員函數(shù) , 而訪問(wèn)非靜態(tài)成員時(shí) , 必須通過(guò)對(duì)象進(jìn)行 , 即必須通過(guò)參數(shù)傳遞方式得到對(duì)象名 , 然后通過(guò)對(duì)象名來(lái)訪問(wèn) 。 // 靜態(tài)成員函數(shù) } 。 例如 cout”x = “。 如果確實(shí)需要 , 靜態(tài)成員函數(shù)只能通過(guò)對(duì)象名 ( 或指向?qū)ο蟮闹羔?) 訪問(wèn)該對(duì)象的非靜態(tài)成員 。 int Application::count=0。 } } Application::~Application() { count=count1。 Application* ptr1。 } 建立工程( Project ) Obj_counter,補(bǔ)充編寫頭文件,在 counter, 編譯、連接 和 ,生成 ,執(zhí)行該程序正確顯示以下一行信息: obj4 count=5 : include class counter { static int count。 但是 , 為了兼容早期獨(dú)立定義的一些系統(tǒng)函數(shù)或提高兩個(gè)類之間的互訪效率 , 有時(shí)需要從類外部訪問(wèn)類的私有成員 。 class Point{ double x,y 。 double distance(Point amp。 double d=distance(A,B)。 // 說(shuō)明類 A是類 B的友元類 … … }; 說(shuō)明類 A是類 B的友元類的語(yǔ)句可以放在類 B的公有部分 , 也可以放在類 B的私有部分 。 // a是類 Y的對(duì)象成員 public: Y( int m , int n) { = m 。 (5) 。 // 先聲明 Y是一個(gè)類 class X{ // 定義類 X int x 。 class Y{ // 定義類 Y int y 。 void X::show(Y amp。 如上例中 , 類 X的成員函數(shù)為類 Y的友元函數(shù) , 必須先定義類 X。 name = new char[ strlen ( str ) + 1 ]。 Member obj2( 57, Johnson)。 ()。 char *name 。 } 該程序執(zhí)行后 , 輸出結(jié)果如下: the string of X is: stringx the string of Y is: stringy 友元成員使用的例子 該程序執(zhí)行后 , 輸出結(jié)果如下: the string of X is: stringx the string of Y is: stringy 說(shuō)明: ( 1) 該程序中 , 類 X的成員函數(shù) show( ) 在類 Y中說(shuō)明為友元 ,因此 , 在該友元成員 show( ) 中可以訪問(wèn)類 Y的私有成員 stry。ob) 。ob) 。友元成員函數(shù)不僅可以訪問(wèn)自己所在類中的私有成員,還可以訪問(wèn) friend說(shuō)明語(yǔ)句所在類 (本類 )中的私有成員和保護(hù)成員。// 友元類 Y的成員函數(shù)中訪問(wèn)類 X的私有成員 cout”y = “X::yendl 。 } }。 當(dāng)類 A作為類 B的友元類時(shí) ,類 A的所有成員函數(shù)都是類 B的友元函數(shù) , 都可以訪問(wèn)類 B中的私有成員和保護(hù)成員 。 A. print( ) 。p2) 。 友元說(shuō)明語(yǔ)句可以放在類的公有部分 , 也可以放在類的私有部分 。 } }。 void main() { counter ob1,ob2,ob3,ob4,ob5。 delete ptr。t create more than one instance!!!endl。 }。 在一般成員函數(shù)中都隱含有一個(gè) this指針 , 用來(lái)指向?qū)ο笞陨?, 而在靜態(tài)成員函數(shù)中是沒有 this指針的 , 因?yàn)樗慌c特定的對(duì)象相聯(lián)系 。 A::fun(Q)。 y += x 。 運(yùn)行結(jié)果: Point A (, ) PointObject id = 1 Point B (, ) PointObject id = 2 說(shuō)明:類 Point的數(shù)據(jù)成員 count被聲明為靜態(tài) , 用來(lái)給 Point類的對(duì)象計(jì)數(shù) , 靜態(tài)數(shù)據(jù)成員 count的定義和初始化在類外進(jìn)行 。 int Point :: count = 0 。 public: Point (double a = 0, double b =0) { x = a 。 coutcount=count\n。 ( 3) 初始化時(shí)必須使用作用域運(yùn)算符::來(lái)表明它所屬的類 。 靜態(tài)成員在類中有兩種情況 , 一是 靜態(tài)數(shù)據(jù)成員 , 一是 靜態(tài)函數(shù)成員 。 pd=new Date[3]。 使用 new運(yùn)算符創(chuàng)建對(duì)象數(shù)組時(shí) ,不能為該數(shù)組元素指定初始值 ,只能調(diào)用缺省參數(shù)構(gòu)造函數(shù) 。所以通常在每次 new 操作后應(yīng)寫一段程序檢查 new 是否成功 : Point* ptr。 其聲明格式如下: 類名 *數(shù)組名 [下標(biāo) ]… 在內(nèi)存的堆區(qū)中創(chuàng)建和刪除對(duì)象 , 使用 new運(yùn)算符和 delete運(yùn)算符 。 A *pa[3]={ amp。 include class A{ int a,b。 //定義一個(gè)指向一維對(duì)象數(shù)組的指針 p, //并用數(shù)組名 point進(jìn)行初始化 , 使指針 p指向數(shù)組 point for( i=0。 }。 for(int i=0 。} Date ( int y , int m , int d ) {year = y 。 ( )。a2) //第一個(gè)形參是對(duì)象 ,第二個(gè)形參是對(duì)象引用 { (5,6)。} void copy( A amp。b對(duì)應(yīng)于對(duì)象指針形參 ()。 } 例 對(duì)象指針作函數(shù)參數(shù) void main() { A a(3,4),b。} void copy( A * p) { x = px 。 因?yàn)槭褂脤?duì)象指針作函數(shù)參數(shù)有如下兩點(diǎn)好處: ( 1) 實(shí)現(xiàn)傳址調(diào)用 。} int Geta( ) {return a。 從程序輸出結(jié)果中可看出:對(duì) q的操作實(shí)際上是對(duì) p的操作 。 // 定義類 M的對(duì)象 p M amp。 public: M( ){x = y = 0 。引用名 =對(duì)象名; 例如: Point A; //定義類 Point的對(duì)象 A Point amp。a1) 。} void print( ) {couta”,”bendl 。 //用指針 p引用對(duì)象成員函數(shù) print( ) } 程序運(yùn)行結(jié)果為: Constructor called. x=3 y=4 x=3 y=4 this指針 this指針是一個(gè)隱含于每一個(gè)類的成員函數(shù) ( 包括構(gòu)造函數(shù)和析構(gòu)函數(shù) ) 中的特殊指針 , 用來(lái)指向正在被某個(gè)成員函數(shù)操作的對(duì)象 。 cout”Constructor called.”endl。 p2=amp。 public: B(int i,int j,int k):a(k,j) { b1=i。 } 在類 B的成員也可以用初始化列表的方法來(lái)初始化: class B{ A a。} }。 public: … }。 然后才是 main()函數(shù)的定義 。 p1 . y 。 正像定義 int 類型的變量一樣 , 創(chuàng)建類類型 Point 的對(duì)象也被看作定義 Point 類型的變量 。 } 執(zhí)行該程序后,輸出結(jié)果如下: Constructor called. Constructor called. The point is : (3,4) The point is : (2,3) The distance between point1 and point2 is : The destructor is called. The destructor is called. 缺省構(gòu)造函數(shù)和缺省析構(gòu)函數(shù) 在實(shí)際應(yīng)用中,通常需要給每個(gè)類定義構(gòu)造函數(shù)。 void main ( ){ double a, b ,c。 public: Point (double a , double b) // 構(gòu)造函數(shù) { x = a 。 } … }; 析構(gòu)函數(shù) 析構(gòu)函數(shù)也是一種特殊的成員函數(shù) ,其功能與構(gòu)造函數(shù)的功能正好相反 , 用來(lái)釋放一個(gè)對(duì)象 。 cout” initialized … ”endl 。 if (h=24) hour=h%24。 構(gòu)造函數(shù)和析構(gòu)函數(shù) 構(gòu)造函數(shù) class Clock { int hour, minute, second。 ( 3) 設(shè)置成員函數(shù)參數(shù)的缺省值 構(gòu)造函數(shù)是一種特殊的成員函數(shù) , 其功能是在創(chuàng)建對(duì)象時(shí) , 使用給定的值對(duì)對(duì)象進(jìn)行初始化 。 } double GetMagnitude ( ) { double t 。第二種方式是將成員函數(shù)定義在類體內(nèi),即定義為內(nèi)聯(lián)函數(shù)。 ( 1) 內(nèi)聯(lián)函數(shù) 內(nèi)聯(lián)函數(shù)是特殊的 C++函數(shù) , 類似于宏指令 , 它直接在調(diào)用處插入函數(shù)體中的代碼 , 而不進(jìn)行一般函數(shù)的調(diào)用操作 。例如整型、浮點(diǎn)型、字符型、數(shù)組、指針和引用等, 但不能用自動(dòng)( auto)、寄存器( register)或外部的( extern)進(jìn)行說(shuō)明。 y = b。 在 C++中, 類的成員從訪問(wèn)權(quán)限上分為私有 ( private) 、公有 ( public) 和保護(hù) ( protected) 三類 。 類的成員包括數(shù)據(jù)成員和函數(shù)成員 。 即說(shuō)明部分告訴類要 “ 干什么 ” , 實(shí)現(xiàn)部分告訴類 “ 怎么干 ” 。 公有成員往往是一些操作 ( 即成員函數(shù) ) , 可在程序中類的外部訪問(wèn)它們 , 它們是類的對(duì)外接口 。} void Point :: Print( ) //定義成員函數(shù) Print( ) { cout”X=” x ”,” “Y=” y endl 。 不能在類的說(shuō)明部分給類的數(shù)據(jù)成員賦初值 , 例如在點(diǎn)類的定義中 , 下面的定義是錯(cuò)的: Class Point{ int x=0 , y=0。 內(nèi)聯(lián)函數(shù)用關(guān)鍵字 inline說(shuō)明 , 一般格式為: inline 返回值類型 函數(shù)名 ( 〈 參數(shù)表 〉 ) 用關(guān)鍵字 inline說(shuō)明的內(nèi)聯(lián)函數(shù)稱為顯式定義的內(nèi)聯(lián)函數(shù)。 double image 。 } } 。 ( 2) 構(gòu)造函數(shù)是特殊的內(nèi)聯(lián)函數(shù) 。 else second=s。 } }。 在定義對(duì)象 a1的同時(shí)類A的構(gòu)造函數(shù)自動(dòng)地被系統(tǒng)調(diào)用執(zhí)行 , 給私有數(shù)據(jù)成員 a 賦初值 10。 [2] 析構(gòu)函數(shù)沒有參數(shù) , 不能指定類型說(shuō)明 。 } ~Point ( ) { cout The destructor is called.endl 。 ( )。可以由程序員在類中自行定義不帶參數(shù)的構(gòu)造函數(shù)。 例如 , 一個(gè)復(fù)數(shù)類 Complex的對(duì)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1