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

正文內(nèi)容

windows編程基礎新手入門資料-資料下載頁

2025-06-25 23:39本頁面
  

【正文】 float fScore[3]。 // 三門課程成績}。float CStuscore::Average(void) // 在類體外部定義{ return (float)((fScore[0] + fScore[1] + fScore[2])/)。}本例中用關鍵詞class聲明了名為CStuscore的類。在類的聲明中,描述學生的姓名、學號與三門課程成績的數(shù)據(jù)strName、strStuNo、fScore用private定義為私有數(shù)據(jù)成員。這表明數(shù)據(jù)成員strName、strStuNo、fScore只能在類中使用,而不能在類外使用。對學生成績信息進行處理的函數(shù)Average、getName和getNo用關鍵詞public聲明成公有成員函數(shù),這樣就可在外部程序中通過getName和getNo函數(shù)分別來獲取學生姓名和學號數(shù)據(jù),通過Average函數(shù)獲取學生的平均成績。可見,類中的私有數(shù)據(jù)成員只能通過公有接口函數(shù)(像getName和getNo函數(shù))來訪問,從而保證數(shù)據(jù)的安全性。類CStuscore中,成員函數(shù)getName和getNo的聲明和定義是在類體中同時進行的,而函數(shù)Average是在類體中聲明,在類體外實現(xiàn)的,注意函數(shù)Average實現(xiàn)中函數(shù)名前面一定要用域作用符“::”指明該函數(shù)所屬的類。習慣上,往往將類的聲明和實現(xiàn)分開來編寫代碼,,這也是Visual C++的一種規(guī)范。2.對象的定義和初始化同變量一樣,類聲明后,就可以定義該類的對象。類的對象也有好幾種定義方式。但由于“類”比任何數(shù)據(jù)類型都要復雜得多,為了提高程序的可讀性,真正將“類”當成一個密閉、“封裝”的盒子(接口),在程序中應盡量使用對象的聲明之后定義方式,即按下列格式進行:類名 對象名表。其中,類名是已聲明過的類的標識符,對象名可以有一個或多個,多個時要用逗號隔開。被定義的對象既可以是一個普通對象,也可以是一個數(shù)組對象或指針對象。例如:CStuscore one, *Stu, Stus[2]。這時,one是類CStuscore的一個普通對象,Stu和Stus分別是該類的一個指針對象和對象數(shù)組。若對象是一個指針,則還可像指針變量那樣進行初始化,例如:CStuscore *two = amp。one??梢?,在程序中,對象的使用和變量是一樣的,只是對象還有成員的訪問等手段。3.對象成員的訪問一個對象的成員就是該對象的類所定義的數(shù)據(jù)成員和成員函數(shù)。訪問對象的成員變量和成員函數(shù)與訪問一般結構的變量的方法是一樣的。對于普通對象,其訪問格式如下:對象名.成員變量對象名.成員函數(shù)(參數(shù)表) 例如,()用來調(diào)用對象one中的成員函數(shù)getName,Stus[0].getNo()用來調(diào)用對象數(shù)組元素Stus[0]中的成員函數(shù)getNo。要注意,由于類的封裝性,每個成員均有聲明的訪問屬性,一個類對象只能訪問該類的公有型成員,而對于私有型成員則不能訪問,例如getName和getNo等公有成員可以由對象通過上述方式來訪問,但strName、strStuNo、fScore等私有成員不能被對象來訪問。若對象是一個指針,則對象的成員訪問格式如下:對象名成員變量對象名成員函數(shù)(參數(shù)表) “”是另一個表示成員的運算符,它與“.”運算符的區(qū)別是:“”用來表示指向?qū)ο蟮闹羔樀某蓡T,而“.”用來表示一般對象的成員。需要說明的是,下面的兩種表示是等價的(對于成員函數(shù)也適用):對象指針名成員變量(*對象指針名).成員變量 例如,(*two).getName()與twogetName()等價??梢?,在C++中,類實際上是一種新的數(shù)據(jù)類型,它是對某一類對象的抽象。如同變量一樣,用“類”也可定義一個對象,此時的對象稱為類的實例。 構造函數(shù)和析構函數(shù)事實上,一個類總有兩種特殊的成員函數(shù):構造函數(shù)和析構函數(shù)。構造函數(shù)的功能是在創(chuàng)建對象時,給數(shù)據(jù)成員賦初值,即給對象初始化。析構函數(shù)的功能是用來釋放一個對象,在對象刪除前,用它來做一些內(nèi)存釋放等清理工作,它與構造函數(shù)的功能正好相反。1.構造函數(shù)C++規(guī)定,在類的定義中是不能對數(shù)據(jù)成員進行初始化的。為了能給數(shù)據(jù)成員設置某些初值,這時就要使用類的特殊成員函數(shù)——構造函數(shù)。構造函數(shù)的最大特點是在對象建立時它會被自動執(zhí)行,因此用于變量、對象的初始化代碼一般放在構造函數(shù)中。C++規(guī)定,一個類的構造函數(shù)必須與相應的類同名,它可以帶參數(shù),也可以不帶參數(shù),與一般的成員函數(shù)定義相同,可以重載,也可以有默認的形參值。例如: include class CPerson{ public: CPerson(char *str, float h, float w) // A:構造函數(shù) { strcpy(name, str)。 height = h。 weight = w。 } CPerson(char *str) // B:構造函數(shù) { strcpy(name, str)。 } CPerson(float h, float w = 120)。 // C:構造函數(shù) public: void print() { cout姓名:name\t身高:height\t體重:weightendl。 } private: char name[20]。 // 姓名 float height。 // 身高 float weight。 // 體重}。CPerson::CPerson(float h, float w){ height = h。 weight = w。}int main(){ CPerson one(DING)。 ()。 CPerson two(170, 130)。 ()。 CPerson three(DING, 170, 130)。 ()。 return 0。}++編譯器自帶的文件,稱為C++庫文件,它定義了標準輸入/輸出流的相關數(shù)據(jù)及其操作。cout表示標準輸出流對象(屏幕),“”是插入符,它將后面的內(nèi)容插入到cout中,即輸出到屏幕上。程序運行的結果為:姓名:DING 身高:–+008 體重:–+008姓名:燙燙燙燙燙燙燙燙燙燙 身高:170 體重:130姓名:DING 身高:170 體重:130分析和說明:① 類CPerson定義了3個重載的構造函數(shù)(程序中用A、B、C標明),這些構造函數(shù)的重載必須按其規(guī)定進行定義,要么參數(shù)個數(shù)不同,要么參數(shù)個數(shù)相同,但參數(shù)類型不相同。其中,構造函數(shù)CPerson(float h, float w = 120),不僅設置了形參w的默認值,而且還將該構造函數(shù)的聲明在類中進行,其定義在類體外實現(xiàn)。② 在主函數(shù)main中,("DING"),因而調(diào)用的是B構造函數(shù),此時對象的私有數(shù)據(jù)成員name設定了初值“DING”,而height和weight初值沒有指定,它們的初值取決于對象的存儲類型,可能是默認值或無效值。③ (170, 130),因而調(diào)用的是C構造函數(shù),此時對象的私有數(shù)據(jù)成員height和weight初值分別設定為170、130,而name初值沒有指定,它可能是默認值或無效值。④ (DING, 170, 130),因而調(diào)用的是A構造函數(shù),此時對象的私有數(shù)據(jù)成員name、height和weight初值分別設定為DING、170和130??梢?,構造函數(shù)提供了對象的初始化方式。若沒有定義任何構造函數(shù),則編譯自動為類隱式生成一個不帶任何參數(shù)的默認構造函數(shù),由于函數(shù)體是空塊,因此默認構造函數(shù)不進行任何操作,僅僅為了對象創(chuàng)建時的語法需要。例如,對于CPerson類來說,默認構造函數(shù)的形式如下:CPerson( ) // 默認構造函數(shù)的形式{ }默認構造函數(shù)的目的是使下列對象定義形式合法:CPerson one。 // 即: ()。 會自動調(diào)用默認構造函數(shù)此時,由于對象one沒指定任何初值,因而編譯會自動調(diào)用類中隱式生成的默認構造函數(shù)對其初始化。若當類定義中指定了構造函數(shù),則隱式的默認構造函數(shù)不再存在,因此,若對于前面定義的CPerson類來說,若有:CPerson four。 // 錯誤則因為找不到默認構造函數(shù)而出現(xiàn)編譯錯誤。此時,在類中還要給出默認構造函數(shù)的具體定義,即定義一個不帶任何參數(shù)的構造函數(shù),稱為顯式的默認構造函數(shù),這樣才能對four進行定義并初始化。另外,構造函數(shù)的訪問屬性必須是公有型(public),否則上述的類對象定義也是錯誤的。2.析構函數(shù)與構造函數(shù)相對應的是析構函數(shù)(Destructor)。析構函數(shù)是C++類中另一個特殊的成員函數(shù),它只是在類名稱前加上一個“~”符號(邏輯非),以與構造函數(shù)功能相反。其格式如下: ~ 類名(){ … }當對象的生存期結束后,或者當使用delete釋放由new來分配動態(tài)內(nèi)存的對象時,析構函數(shù)會被自動調(diào)用。這樣,數(shù)據(jù)成員(尤其是用new為其開辟的內(nèi)存空間)的釋放代碼就可放入析構函數(shù)的函數(shù)體中,以便對象消失后自動調(diào)用。需要說明的是:① 每一個類最多只能有一個析構函數(shù),且應為public,否則類實例化后無法自動調(diào)用析構函數(shù)進行釋放,但不能被重載,沒有任何參數(shù),也不返回任何值,函數(shù)名前也不能有任何關鍵詞(包括void)。例如:class CPerson{public: … ~CPerson( ) { } // 析構函數(shù) …}。② 與類的其他成員函數(shù)一樣,析構函數(shù)的定義也可在類體外進行,但必須指明它所屬的類,且在類體中還必須有析構函數(shù)的聲明。例如:
點擊復制文檔內(nèi)容
黨政相關相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1