緊接上次課程,將老師上課內(nèi)容歸納總結(jié)的重點如下:
7、三大函數(shù)
(1)拷貝構(gòu)造:string(const string& str)
? ? ? ? ?拷貝賦值:string& operator=(const string& str)
? ? ? ? ? ? ? ? 析構(gòu):~string()
(2)析構(gòu)函數(shù)作用是為清理動態(tài)分配中的內(nèi)存;
(3)拷貝賦值函數(shù)中不要忘記檢測自我賦值。
8、堆、棧與內(nèi)存管理
(1) stack(棧):是存在于某作用域的一塊內(nèi)存空間。
heap(堆):是指由操作系統(tǒng)提供的一塊內(nèi)存空間,程序可動態(tài)分配從某中獲得的若干塊。
(2)new:先分配memory,在調(diào)用ctor。
delete:先調(diào)用dtor,再釋放memory。
(3)內(nèi)存空間計算,16進位,調(diào)試模式與非調(diào)試模式區(qū)別。
9、復(fù)習(xí)string類實現(xiàn)過程
&放在typename后面是reference,放在object前面是取地址,得到一個指針。
10、擴展補充
(1)靜態(tài)數(shù)據(jù)只有一份,靜態(tài)函數(shù)沒有this point;
(2)類模板和函數(shù)模板;
(3)using namespace std 表明標(biāo)準(zhǔn)庫全打開,可以直接用,
using std::count 表明只打開了count ,其余要使用時需寫全稱,例如std::cin。
11、總結(jié)
(1)對于標(biāo)準(zhǔn)庫的使用,需要在前面打開才能使用,我們一般看到的是簡稱,是在標(biāo)準(zhǔn)庫打開的前提下的使用方法;如果前面未打開,在使用時需要寫全稱,如std::cin。
(2)關(guān)于類成員函數(shù)命名m_data,這里為什么要使用m開頭?這是采用匈牙利命名法,m代表成員變量(這是在交流群里學(xué)習(xí)到的)。
(3)在做作業(yè)時出現(xiàn)以下錯誤:error C2661: 'Point::Point' : no overloaded function takes 2 parameters。 出現(xiàn)這個的原因是The specified overloaded function was not declared for the given number of parameters.因此,將h文件中class point進行以下修改:

改為

結(jié)果沒有錯誤

(4)程序編寫完成后,沒有編譯錯誤,但是沒有顯示結(jié)果,運行exe文件后結(jié)果如下:

這個問題目前還在解決中。。。