學習分享 C 語言(持續更新)

2021-10-09 04:45:43 字數 2087 閱讀 9744

2 變數名&引用&指標

3 內聯函式inline

4 類5 封裝

6 繼承

7 多型

7.2 子型別多型(執行)

7.3 引數多型(編譯)

7.4 強制多型(編譯/執行)

參考c++物件導向:我.吃(飯)

c面向過程:吃(我,飯)

(1)常指標:*const p

(2)指向常量的指標: const *p

(3)指向常量的引用: const &a

(4)常物件:const a a

(1)靜態變數:存在靜態區,執行前分配空間,要初始化

(2)靜態函式:只能在當前檔案訪問

(3)靜態成員變數:不需要建立物件,就能訪問

(4)靜態成員函式:不需要建立物件,就能訪問

靜態成員函式,不能訪問,非靜態成員變數

變數:記憶體的別名

引用:已定義變數的別名

變數:申請、命名、使用記憶體空間

本質:記憶體的引用

(1)複雜名稱別名——單獨定義引用,必須初始化

(2)修改實參的值——做函式形參,不進行初始化

(3)避免複製大物件——做函式返回,不能初始化其他引用,除非返回量是靜態的

type &foo 是引用,其他是取位址

左值引用(&):右邊要求是乙個可修改的左值

int & tmp = x  // 對

int & tmp = 5 // 錯,5是右值

int & tmp = x+y //錯,x+y是臨時物件,是右值

右值引用(&&):右邊要求是乙個右值

int && x=5     // 對
隱含在所有,非靜態成員函式中

物件呼叫成員函式,物件位址給this,this調成員函式,this訪問成員變數

this是右值,不能取位址

(1)函式體,編譯後,直接插入,函式呼叫處

(2)**內嵌≈巨集函式+語法檢測

(3)避免函式呼叫,節省開銷(壓棧、跳轉、返回)

(4)不能有複雜操作

內聯:編譯+插入,編譯器處理

巨集:插入,預處理器處理

優點:節省開銷

缺點:多個副本,增加**段空間

虛函式可以是內聯函式,表現多型時不行

類:抽象

物件:例項

成員變數:屬性/資料

成員函式:方法/行為

todo

todo

帶純虛函式(見7.2)的類,不能生成物件,只有被繼承後,實現虛函式,才能用

抽象類也可以被繼承,繼承該類的類,可以是抽象類/普通類

對內開放,對外遮蔽但提供介面

繫結屬性和方法,通過物件進行訪問控制(public,protected,private)

多型別打包,形成新型別

訪問許可權:

(1)public:類內,類外,子類

(2)protected:類內,子類

(3)private:類內,友元

todo

todo

todo

繼承後,基類的private,在派生類中,全部不能訪問

將基類中大的許可權縮小:

(1)public繼承:不縮,基類public,protected許可權全不變

(2)protected繼承:public縮,基類public變成protected,protected不變

(3)private繼承:public,protected縮,基類public和protedted都變成private

繼承,產生相關但不同的類,物件對同一訊息,響應不同

同樣的呼叫語句,有不同的表現形態

todo

todo

普通函式,靜態函式,建構函式不能是虛函式

虛函式表現多型時,內聯函式也不能是虛函式

在基類中宣告,派生類中實現的,虛函式

沒有在派生類實現,就不能例項化派生類

todo

todo

todo

todo

c 學習(持續更新 )

std move link1 link2 include裡面宣告的變數是可以,直接在.cc檔案中直接使用的。abs 函式主要是對int求絕對值 fabs 對float,double求絕對值 struct 初始化 a 結構體a被初始化,各個成員都將被設定為0 二 char轉int char轉int之前...

C語言寶典(持續更新)

正確操作 錯誤操作 編譯時報錯 double rate const double locked const double pc rate 可以 pc locked 可以 const double locked double pc locked 不可以 1 str1 str2 str5都指向了同乙個字...

前端工作分享( 持續更新)

1.當乙個 form 元素中只有乙個輸入框時,在該輸入框中按下回車應提交該表單。如果希望阻止這一預設行為,可以在 標籤上新增 submit.native.prevent。2.在編寫css元件樣式的時候 要規範化 不要在style寫全域性樣式 否則會影響全域性,用style scoped當前元件加 d...