1-C++編程簡介
Object Based——以良好的方式編寫-Class
Object Oriented——Class之間的關(guān)系-繼承、符合、委托
參考書目:
C++ Primer Fifth Edition
The C++ Programming Language
Effective C++
The C++ Standard Library
STL 源碼剖析
2-頭文件與類的聲明

C與C++的區(qū)別
Header的布局
防御性聲明:
#ifndef __HEAD_H_ //防止多次包含同樣的頭文件
#define __HEAD_H_
#endif //回應(yīng)前方的 #ifndef
前置聲明
類聲明class xxx {};
類定義xxx::function
模板 template<typename T>
3-構(gòu)造函數(shù)
1、inline:編譯時直接展開,效率較高
?。?!inline非強制,編譯器會自己判斷
內(nèi)聯(lián):
函數(shù)在類內(nèi)定義時,自動轉(zhuǎn)成內(nèi)聯(lián)的候選人。
inline只是向編譯器發(fā)出的一個請求,編譯器可以選擇忽略這個請求。
一般來說,inline用于優(yōu)化規(guī)模小,流程直接,頻繁調(diào)用的函數(shù),而且很多編譯器并不支持內(nèi)聯(lián)嵌套函數(shù)。內(nèi)聯(lián)函數(shù)主要是抵消了函數(shù)調(diào)用時的開銷,但是如果將內(nèi)聯(lián)函數(shù)全部展開的開銷大于函數(shù)調(diào)用的開銷,編譯器便會自動忽略內(nèi)聯(lián)的請求。
內(nèi)聯(lián)函數(shù)通常定義在頭文件中。
2、access level:public、private、protected、friend
封裝:
定義在public說明符后的成員在整個程序內(nèi)可以被訪問,public成員定義類的接口。
定義在private說明符號后面的成員可以被類的成員函數(shù)訪問,但是不能被使用該類的代碼訪問,private部分封裝了類的實現(xiàn)細節(jié)。
一個類可以包含0個或者多個訪問說明符,而且對于某個訪問說明符能出現(xiàn)多少次也沒有嚴格限定。每個訪問說明符指定了接下來的成員的訪問級別,其有效范圍直到出現(xiàn)下一個訪問說明符或者到達類的結(jié)尾為止。
一個類可以用struct或者class進行定義,區(qū)別便是struct的默認訪問權(quán)限為public,而class的默認訪問權(quán)限為private。
友元:
類可以允許其他類或者函數(shù)訪問它的非共有成員,方法是令其他類或者函數(shù)稱為它的友元。如果想把一個函數(shù)作為它的友元,只需要增加一條以friend關(guān)鍵字開始的函數(shù)聲明語句即可。
友元函數(shù)如果定義在類的內(nèi)部,則其是隱式內(nèi)聯(lián)的,相同種類的類互為友元。
3、默認實參
4、初始列表xxx xxx() : xx(x),yy(y)
5、overloading
重載的條件:
1、函數(shù)有不同參數(shù)。
2、函數(shù)有不同參數(shù)類型。
4-參數(shù)傳遞與返回值
const
傳引用傳值的區(qū)別:
什么時候用傳引用,什么時候傳值
5-操作符重載與臨時對象
1、操作符重載(成員函數(shù)與非成員函數(shù))
比較全面的 C++ 操作符重載 (operator)
2、temp object
6-復(fù)習(xí)Complex類的實現(xiàn)過程