1.OOP特性: 抽象 封裝和數據隱藏 多態 繼承 代碼的可重用性 2.OOP從用戶的角度考慮對象--描述對象所需的數據和描述用戶與數據交互所需的操做 3.類是一種將抽象轉換爲用戶定義類型的C++工具,它將數據表示和操縱數據的方法組合成一個簡潔的包 4.類規範由類聲明和類方法組成,類聲明以數據成員的方式描述數據部分,以成員函數的方式描述公有接口,類方法定義描述如何實現類成員函數,一般將類聲明放在頭文件,將類方法的實現放在源文件 5.只能經過類的公有成員函數來訪問類的私有成員,類設計儘量將公有接口和實現細節分開,達到封裝和數據隱藏的目的 6.類對象的默認訪問控制爲private 7.定義成員函數時,使用做用域解析運算符來標識函數所屬的類 8.類的成員函數不須要使用做用域解析運算符來調用其餘成員函數 9.定義位於類聲明中的函數將自動成爲內聯函數,內聯函數要求在每一個使用它的文件中都對其進行定義 10.每一個類對象都有本身的存儲空間,用於存儲其內部變量和類成員,但同一個類的全部對象共享同一組類方法,即每種方法只有一個副本 11.構造函數沒有聲明類型,其參數名不能與類成員名相同,爲避免混亂,常見作法是在數據成員名前使用m_前綴 12.使用構造函數 顯示:class_t xx = class_t(a, b, c); 隱式:class_t xx(a, b, c); 使用new:class_t *xx = new class_t(a, b, c); 13.當沒有定義任何構造函數時,編譯器會提供默認構造函數,若是定義了一個構造函數,又要使用class_t xx,則要本身添加默認構造函數 14.默認構造函數能夠是本身定義的構造函數,而且全部參數都有默認值 15.析構函數沒有參數,其被調用的時間 1)靜態存儲類對象,程序結束時調用 2)動態存儲類對象,程序執行完代碼塊時 3)經過new建立的對象,使用delete時 16.C++11初始化 class_t xx = {a, b, c}; class_t xx {a, b, c}; class_t xx {}; //默認構造函數 17.只要類方法不修改調用對象,應將其聲明爲const 18.每一個成員函數都有一個this指針,其指向調用對象,那麼*this能夠做爲調用對象的別名 19.類對象數組,初始化方案,先使用默認構造函數建立數組元素,而後花括號中的構造函數將建立臨時對象並複製對象的內容到相應的元素中,所以建立類對象數組,這個類必須有默認構造函數 class_t xx[3] = { class_t(a, b, c); class_t(); }; 20.類中定義的名稱其做用域爲整個類,要調用公有函數,必須經過對象 21.類聲明中的枚舉爲整型常量提供做用域爲整個類的符號名稱 22.另外一種在類中定義常量的方式,使用static,該常量與其餘靜態變量存儲在一塊兒,爲全部類對象所共享