C++ Primer 筆記(第11講---16講)

第11講

“引用”就是指的對象的另一個名字或變量的另一個名字,注意:定義引用的時候就必須初始化,如下圖就是錯誤的

引用也不可以直接對其賦值“直接量”,下圖所示就是錯誤的,引用必須賦值變量

const引用就是引用const常量的引用(如下圖)

非const引用不能初始化爲一個const常量(如下圖就是錯誤的)

注意:const引用可以直接初始化爲“直接量”!!!(下面2個圖就是正確的)

const引用可以初始化爲不同類型的對象或變量,而普通非const引用卻不能初始化爲不同類型的對象或變量(下圖是正確的)

 

const引用和非const引用主要是用於使用函數時,傳遞函數的參數

第十二講

typedef 是給數據類型定義別名的(如下圖 )

第十三講

我們如果需要定義很多的const常量,那麼這個時候就可以使用枚舉(如下圖)

枚舉本質上是一種類型,只是這種類型是我們自己做的

第十四講

類類型

下圖中的名詞解釋:接口:對這個類類型所能進行的操作      實現:包含了類裏全部的代碼   

我們一般都是先寫接口 再 寫實現,類的接口裏面要寫類成員(類成員包括數據成員和成員函數),和訪問級別(圖2)

類的操作(成員函數)一般是公有的;類裏的數據一般是私有的(下圖所示)

 

注意:類的數據成員不能在定義時初始化,如下圖中的revenue在定義時就不能賦值0.0;必須通過構造函數對數據成員進行初始化,

面向對象就是寫類,通過寫類來實現封裝、繼承、和多態;

封裝:類裏的數據設計成私有的,那麼這些私有的數據只能在類的內部使用,在外部只能用類裏公有的成員函數,通過這些公有的成員函數來操作這些被保護(封裝)起來的數據;

注意:類裏沒寫public或private的話,默認就是private; 

注意:類可以用class寫,也可以用struct寫,二者是一樣的(下圖中的兩種寫法是一樣的),二者唯一的區別在於:class默認的數據成員是私有的,struct默認的數據成員是公有的

第十五講

頭文件中一般寫以下內容,一般,一個類就單獨用一個頭文件,與頭文件相對應的還有一個頭文件,這個頭文件裏就要include這個頭文件,

頭文件裏寫類的聲明,源文件裏寫類的定義、類的所有成員,注意頭文件裏只能寫聲明不能寫定義,但是可以在頭文件裏寫const常量的定義,然後類的定義也可以寫

程序設計全過程:(下圖)

所謂預處理:就是把頭文件中的內容全部拷貝過來,然後替換掉 include “XXX”  

爲了防止頭文件多重包含,我們有了頭文件保護符,所以,每一個頭文件都應該寫上頭文件保護符,一定要防止頭文件多重包含

第十六講

下圖中,std 就是名稱空間,四個點就是作用域操作符,cout 就是名稱(名字),就像文件放在文件夾裏,名稱放在名稱空間裏

以下是使用命名空間和名稱最直白的做法

但是,很明顯,上圖中反覆使用std::cin和 std:: string 很繁瑣,所以使用using的寫法,如下圖所示,那麼寫cin和string時就可以省略 std::

還有一種用 using namespace std 的做法,(下圖所示),那麼只要這一句,所有的命名空間std中的名稱就都using進來了

注意:頭文件中不能使用 using 聲明,必須使用完整的命名空間(即:名稱空間 + ::+ 名稱 )

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章