国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++初探類

2019-11-11 05:23:53
字體:
來源:轉載
供稿:網友

    C++和C的區別之一是,編程思想的不同——面向對象編程和過程性編程。面向對象編程(OOP)是一種特殊的、設計程序的概念性方法,其特性有: - 抽象; - 封裝和數據隱藏; - 多態; - 繼承; - 代碼的可重用性。     C++將這些特性整合在一起,提供了類。筆者這部分僅對類進行簡單的總結,高級特性以后進行總結。

抽象:對象和類

    基于計算機的概念是由外國人定義的,翻譯過來的術語概念總會限定我們的想法,所以不必拘泥于叫法,通俗的來說,對象看作是個體,每個個體都是一個對象,類是根據某些規則對多個個體的劃分歸類,抽象其實指的就是這些規則。定義一個類就是制定這些規則,定義一個對象就是依據這些規則創建一個能夠操作的實體。

概念和規范

    類是一種將抽象轉換為用戶定義類型的C++工具,它將數據表示和操縱數據的方法組合成一個整潔的包。     類規范由兩個部分組成: - 類聲明:以數據成員的方式描述數據部分,以成員函數(成為方法)的方式描述公有接口。 - 類方法定義:描述如何實現類成員函數。     簡單的說就是,類聲明提供了類的藍圖,而方法定義則提供了細節。     接口是一個共享框架,供兩個系統交互時使用。對于類,接口指公共接口,通俗來說就是在public部分聲明的函數,提供給外部使用來操縱類對象。

封裝和數據隱藏:訪問控制

    關鍵字PRivate、public和protect,描述了類成員的訪問控制,通過這些關鍵字類實現了封裝和數據隱藏的功能。

封裝

    用筆者的話講,封裝就是指規則和代碼不在同一個文件中,也就是將類聲明和類定義放在不同的文件中。一般來說,類聲明放在頭文件(.h)中,類定義放在.cpp文件中并且包含類聲明的頭文件,使用時將它們放在一起編譯運行。     在定義文件中,使用作用域解析運算符(::)來標示函數所屬的類,需要注意的是,類成員名和類成員函數參數名需要區分開來,可以在聲明時添加前綴或后綴的方式區分。

數據隱藏

    數據隱藏指用戶無法直接對類成員數據進行操作,保護數據的安全,數據隱藏也屬于封裝。通過關鍵字private實現隱藏,對于一個類,用戶只能直接使用在public部分定義的函數或變量,而在private中的內容,用戶不能直接使用。在private中的內容,只有類成員函數能使用。

構造函數

    構造函數是一個特殊的類成員函數,專門用于構造新對象、將值賦給它們的數據成員,函數名為類名,沒有返回值和聲明類型,程序聲明對象時,自動調用構造函數,可以顯式或隱式的調用構造函數,如果沒有定義構造函數的時候,編譯器會提供默認構造函數,如果定義了構造函數,那么必須定義默認構造函數。構造函數只能用來創建對象,而不能被對象調用。

析構函數

    析構函數也是一個特殊的類成員函數,負責完成清理工作,它的名稱也很特殊:在類名前加~,與構造函數一樣,沒有返回值和聲明類型,此外還沒有參數。調用析構函數由編譯器決定,通常不顯示的調用析構函數,一般在類對象過期時自動調用析構函數,如果沒有定義析構函數,編譯器隱式的提供默認析構函數。

其他

    每個成員函數都有一個this指針,this指針指向調用對象,如果方法需要引用整個調用對象,則可以使用*this表達式。     聲明類對象時可以使用列表初始化的方式。     當成員函數不修改調用對象時,應將其聲明為const,對數據進行保護。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 东兰县| 浮山县| 岳西县| 确山县| 伊金霍洛旗| 永福县| 乌拉特前旗| 临沭县| 伽师县| 定远县| 梁山县| 长宁县| 宜君县| 江达县| 阳江市| 竹溪县| 原平市| 容城县| 塔城市| 湘乡市| 明光市| 抚州市| 洛南县| 克拉玛依市| 榆社县| 乐都县| 四平市| 商丘市| 海原县| 德格县| 大姚县| 宾川县| 太湖县| 夏河县| 永康市| 勐海县| 大英县| 泾阳县| 德阳市| 准格尔旗| 河池市|