c++筆記

引用:

相當(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)用一次

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • C++文件 例:從文件income. in中讀入收入直到文件結(jié)束,并將收入和稅金輸出到文件tax. out。 檢查...
    SeanC52111閱讀 2,840評(píng)論 0 3
  • C++ 是 C 語言的超集,它是一種使用非常廣泛的計(jì)算機(jī)編程語言。C++ 作為一種靜態(tài)數(shù)據(jù)類型檢查的、支持多范型的...
    神齊閱讀 927評(píng)論 0 1
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,533評(píng)論 1 51
  • 3. 類設(shè)計(jì)者工具 3.1 拷貝控制 五種函數(shù)拷貝構(gòu)造函數(shù)拷貝賦值運(yùn)算符移動(dòng)構(gòu)造函數(shù)移動(dòng)賦值運(yùn)算符析構(gòu)函數(shù)拷貝和移...
    王偵閱讀 1,861評(píng)論 0 1
  • #復(fù)盤第14天# 敢比會(huì)更重要 面試JA志愿者,是我正確的決定。 從開始覺得充滿意義,到思考著和我這學(xué)期的目標(biāo)是否...
    Ariel元閱讀 223評(píng)論 0 1