引用:
相當(dāng)于對(duì)象或變量的別名,聲明的時(shí)候需要直接進(jìn)行初始化。
堆與棧:
棧:函數(shù)參數(shù)、局部變量由編譯器負(fù)責(zé)回收
堆:動(dòng)態(tài)分配的內(nèi)存塊,由程序員進(jìn)行釋放,程序結(jié)束系統(tǒng)進(jìn)行回收
? ? ? 內(nèi)存泄漏問題:需要用free、delete進(jìn)行刪除
指針:* & 分別記為取值和取地址
重載:
類與對(duì)象:
類的定義一般放在.h中類的實(shí)現(xiàn)一般放在.cpp
類外定義成員函數(shù):
? ? ? ? ? ? ? ? ? ? ? ? ? 返回類型 類名::成員函數(shù)名(參數(shù))
? ? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? 實(shí)現(xiàn)體;
? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? ? 顯式定義:在上述結(jié)構(gòu)前冠以關(guān)鍵字inline
private的內(nèi)容一般由public的成員函數(shù)來訪問
構(gòu)造函數(shù):
? ? 一般應(yīng)該被聲明為public類型
? ? 帶缺省參數(shù)的構(gòu)造函數(shù)可在形參后面直接賦值,所賦值直接為缺省值(缺省值的定義應(yīng)當(dāng)在無缺省值的右邊)另外要防止二義性的出現(xiàn)
? ? 拷貝構(gòu)造函數(shù):其形參為類的引用,系統(tǒng)會(huì)產(chǎn)生缺省的拷貝構(gòu)造函數(shù)功能。
? ? ? ? ? ? ? ? ? 拷貝構(gòu)造函數(shù)僅在以下三種情況下被調(diào)用:1.用一個(gè)對(duì)象初始化另一個(gè)對(duì)象時(shí) 2.一個(gè)對(duì)象被作為函數(shù)的參數(shù)時(shí) 3.當(dāng)對(duì)象作為函數(shù)值返回時(shí)
? ? ? 系統(tǒng)會(huì)嘗試將含有一個(gè)參數(shù)的構(gòu)造函數(shù)自動(dòng)進(jìn)行類型轉(zhuǎn)換,若存在二義性則放棄
析構(gòu)函數(shù):
? ? 一個(gè)類中只能定義一個(gè)析構(gòu)函數(shù),當(dāng)用到動(dòng)態(tài)內(nèi)存時(shí)要用delete對(duì)內(nèi)存進(jìn)行釋放,析構(gòu)函數(shù)釋放的空間是構(gòu)造函數(shù)分配的,不是new出來的
指向?qū)ο蟮闹羔槼蓡T:
? ? ? ? ? ? ? ? ? ? ? ? ? ? 對(duì)象指針名->成員名
? ? ? ? ? ? ? ? ? ? ? ? ? ? 等價(jià)于
? ? ? ? ? ? ? ? ? ? ? ? ? ? (*對(duì)象指針名).成員名
? ? ? ? ? ? ? ? ? ? ? ? ? ? this一般指向正在操作的對(duì)象
前向引用:
在完成對(duì)整個(gè)類的定義之前不能定義對(duì)象,但可以經(jīng)過前向引用聲明,聲明對(duì)象引用
靜態(tài)成員:
需要在類外進(jìn)行定義和初始化,并且不需創(chuàng)建對(duì)象。
靜態(tài)成員函數(shù)只能引用屬于該類的靜態(tài)數(shù)據(jù)成員或靜態(tài)成員函數(shù)
類指針
繼承與派生
私有繼承:
共有繼承::或:public
protected可以被派生類調(diào)用 不能被具體的對(duì)象調(diào)用
子類繼承父類出構(gòu)造和析構(gòu)之外的所有成員
派生類的構(gòu)造函數(shù)除了初始化自己的數(shù)據(jù)成員外,還須初始化調(diào)用基類的數(shù)據(jù)成員(如果類中含有基類對(duì)象的話)
派生的構(gòu)造函數(shù): 派生類名(基類形參,...本類形參):基類名1(參數(shù)),基類名2(參數(shù)),...<子對(duì)象名>(<參數(shù)表>)
{
? ? 本類成員初始化賦值;
}
訪問聲明:針對(duì)私有派生
訪問聲明不應(yīng)聲明加類型、也不應(yīng)說明函數(shù)的參數(shù)
只能改變保護(hù)段和公有段的成員在派生類中的訪問域,且不能改變基類中的可訪問性
多繼承:
二義性問題,成員的訪問權(quán)限并不能區(qū)分有二義性的同名成員
虛基類:
用于有共同基類的場(chǎng)合
虛基類的構(gòu)造函數(shù)只會(huì)被調(diào)用一次