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...