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

正文內(nèi)容

c程序設(shè)計語言--第四講類(編輯修改稿)

2025-02-14 02:22 本頁面
 

【文章內(nèi)容簡介】 。 2022/2/9 面向?qū)ο蟪绦蛟O(shè)計 ? 在程序編譯時, 編譯器將程序中出現(xiàn)的內(nèi)聯(lián)函數(shù)的調(diào)用表達(dá)式用內(nèi)聯(lián)函數(shù)的函數(shù)體來進(jìn)行替換 。顯然,這種做法不會產(chǎn)生轉(zhuǎn)去轉(zhuǎn)回的問題,但是由于在編譯時將函數(shù)休中的代碼被替代到程序中,因此會增加目標(biāo)程序代碼量,進(jìn)而增加空間開銷,而在時間代銷上不象函數(shù)調(diào)用時那么大,可見 它是以目標(biāo)代碼的增加為代價來換取時間的節(jié)省 。 ? 內(nèi)聯(lián)函數(shù)的定義方法 內(nèi)聯(lián)函數(shù)的定義方法與一般函數(shù)一樣,只是在函數(shù)定義的頭前加上關(guān)鍵字 inline即可。如: inline int add_int (int x, int y, int z) { return x+y+z。 } 返回 2022/2/9 面向?qū)ο蟪绦蛟O(shè)計 二 對象和對象定義 對象的創(chuàng)建 ? 類是抽象的概念 , 而對象是具體的 , 類只是一種數(shù)據(jù)類型 , 而對象是屬于該類 ( 數(shù)據(jù)類型 ) 的一個變量 ,占用了各自的存儲單元 , 每個對象各自具有了該類的一套數(shù)據(jù)成員 ( 靜態(tài)成員除外 ) , 而所有成員函數(shù)是所有對象共有的 。 每個對象的函數(shù)成員都通過指針指向同一個代碼空間 。 ( 參看教材 p124圖 ) ? 對象的定義格式: ( 1) class 類名 {… … } 對象 1,對象 2, … ,對象 n ; ( 2)類名 對象 1,對象 2, … ,對象 n ; ( 3)類名 對象 1(參數(shù)表), … ,對象 n (參數(shù)表) ; 如: TDate date1, date2, *Pdate, date[31]。 2022/2/9 面向?qū)ο蟪绦蛟O(shè)計 對象成員的使用 ? 訪問對象的成員包括讀寫對象的數(shù)據(jù)成員和調(diào)用它的成員函數(shù),其訪問格式是: 對象名 .成員名 或者 對象名 .成員名 (參數(shù)表 ) 前者用來表示數(shù)據(jù)成員的,后者用來表示成員函數(shù)的。如:上例中已定義了類 Record,則: Record book1,book2。 //此處的 book1,book2就是 Record //類型 , 也就是類的兩個對象 ? 可參看教材 p125程序 531 2022/2/9 面向?qū)ο蟪绦蛟O(shè)計 如上例中 , 對象的主函數(shù)如下: void main() { Record book1,book2。 //定義對象 book1和 book2 //調(diào)用成員函數(shù) regist, 給 book1的兩個數(shù)據(jù)成員 //bookname和 number賦值 (“C++編程教程 ” , 1001)。 //調(diào)用成員函數(shù) regist, 給 book2的兩個數(shù)據(jù)成員賦值 (“C++語言參考 ” , 1002)。 //調(diào)用成員函數(shù) show, 顯示 book1對象的數(shù)據(jù)成員 //bookname和 number的值 ()。 //調(diào)用成員函數(shù) show, 顯示 book2對象的數(shù)據(jù)成員 //bookname和 number的值 ()。 } 2022/2/9 面向?qū)ο蟪绦蛟O(shè)計 如改為下面的代碼 , 則錯誤: void main() { Record book1,book2。 //由于 bookname和 number是類 Record的私有成員 ,在類外不能直接使用 ,即對象不能直接使用 。 strcpy(,“C++編程教程 ” )。 =1001。 strcpy(,“C++語言參考 ” )。 =1002。 ()。 ()。 } 2022/2/9 面向?qū)ο蟪绦蛟O(shè)計 訪問對象的成員需注意以下幾點: 1. 對于類的私有成員 , 只能通過其成員函數(shù)來訪問 , 不能在類外對私有成員訪問 。 2. 調(diào)用成員函數(shù)時要在函數(shù)名之前加上對象名和 .即可 ,即先指明對象 , 再指明成員 。 也可以采用指向?qū)ο蟮闹羔榿碓L問 , 但要在函數(shù)名前加上指針變量名和 “ ” 。 3. 任何對對象私有數(shù)據(jù)的訪問都必須通過向?qū)ο蟀l(fā)送消息來實現(xiàn) , 而且所發(fā)送的消息還必須是該對象能夠識別和接受的 。 在 C++中 , 消息發(fā)送正是通過公有成員函數(shù)的調(diào)用來實現(xiàn)的 。 由于類接口隱藏了對象的內(nèi)部細(xì)節(jié) , 用戶只能通過類接口訪問對象 , 因此 , 在類設(shè)計中必須提供足夠的公有接口以捕獲對象的全部行為 ,這正是類設(shè)計中的一個最基本的要求 。 返回 2022/2/9 面向?qū)ο蟪绦蛟O(shè)計 對象數(shù)組 參看教材 p305306 2022/2/9 面向?qū)ο蟪绦蛟O(shè)計 第五節(jié) 構(gòu)造函數(shù)河析構(gòu)函數(shù) ? 全局變量和靜態(tài)變量在定義時 , 將自動賦初值為 0;局部變量在定義時 , 其初始值不固定的 。 而當(dāng)對象被定義時 ,由于對象的意義表達(dá)了現(xiàn)實世界的實體 , 所以一旦定義對象 , 就必須有一個有意義的初始值 , 在 C++中 , 在定義對象的同時 , 給該對象初始化的方法就是利用構(gòu)造函數(shù) 。 下面分別從三個方面講述初始化問題: 類中數(shù)據(jù)成員的初始化: 構(gòu)造函數(shù)和析構(gòu)函數(shù) 由于在類的定義中不能對數(shù)據(jù)成員初始化,那么類中數(shù)據(jù)成員利用構(gòu)造函數(shù)進(jìn)行初始化。 類中常量和引用的初始化: 初始化表 類中數(shù)據(jù)成員的初始化: 初始化表 類的對象初始化: 拷貝構(gòu)造函數(shù) 2022/2/9 面向?qū)ο蟪绦蛟O(shè)計 構(gòu)造函數(shù)和析構(gòu)函數(shù) ? 構(gòu)造函數(shù)和析構(gòu)函數(shù)是在類體中說明的兩種特殊的成員函數(shù)。 構(gòu)造函數(shù) 的功能是在創(chuàng)建對象時,使用給定的值來將對象初始化 。 析構(gòu)函數(shù) 的功能是用來釋放一個對象的,在對象刪除前,用它來做一些清理工作 ,它與構(gòu)造函數(shù)的功能正好相反。 ? 下面舉一例子來說明構(gòu)造函數(shù)和析構(gòu)函數(shù)的特點: 程序 51 2022/2/9 面向?qū)ο蟪绦蛟O(shè)計 class TDate { public: TDate(int y, int m
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1