15 多型
16 虛函式
物件導向程式設計是將物件抽象成類,把類的資料與操作封裝在一起而進行的程式設計。
優點:易維護、提高**復用率
用於不同引數型別獲引數數目不同時
inline:在被呼叫的每乙個地方都插入它的乙份拷貝,適用於小函式。
全域性靜態變數:作用域在本檔案中,程度執行期間一直存在。
區域性靜態變數:作用域在本語句塊中,離開作用域後不被銷毀。
靜態變數儲存在記憶體資料區,在程式執行過程中不釋放,結束後才釋放記憶體。
只在本檔案中可見,不能被其他檔案所用。避免函式重名衝突。
c++中記憶體分為**段、資料段、bss段、堆區、檔案對映區、棧區。
棧區:函式區域性變數的儲存空間在棧上;
檔案對映區:儲存動態連線庫和大空間的分配,mmap檔案對映;
堆區:呼叫new/malloc在堆區分配記憶體;
bss段:儲存未初始化的全域性變數和靜態變數;
資料段:儲存初始化的全域性變數和靜態變數;
**段:文字區儲存程式的機器碼。
指標是一種特殊的變數,存放被指向內容的記憶體位址。
除可以指向常用的變數外,指標也可以指向陣列、類、函式等,指標也可以用陣列存放。
new是c++中的函式,可以為變數分配對應的記憶體空間;
malloc是c中的函式,它需要指定分配空間的大小,需要借用size of函式,因為它不能通過變數的型別自動判斷
類的建構函式在生成物件時被呼叫,用於為物件分配空間,並初始化物件,建構函式也可以過載。
類的析構函式在物件釋放前呼叫,做一些清理工作。
類相當於資料型別,物件時類的例項化。
友元函式定義在類的外部,但可以訪問類的私有成員,它不是成員函式,但在類中宣告。
運算子過載可以重新定義運算子。
過載方式:
公有繼承、保護繼承、私有繼承。
基類的私有成員都不能被派生類訪問。
當b、c都繼承了a,d又繼承了b、c,會出現命名衝突和冗餘資料的問題。
利用虛繼承,可以解決上述問題,即
classb:
virtual
public a
;classc:
virtual
public a
;
多型是指呼叫成員函式時,會根據呼叫函式的物件型別來執行不同的函式。
利用函式過載、運算子過載實現多型。
利用虛函式和基類指標來實現多型。
虛函式是指在基類定義後,可以在派生類定義同名函式實現不同的功能。
利用基類指標,分別指向不同的派生類後呼叫函式,就可以實現派生類中定義的函式功能。
純虛函式的定義如下:
virtual 函式型別 函式名()=
0;
包含純虛函式的類成為抽象類,乙個類可以有多個純虛函式。 shell 程式設計知識點彙總
程式設計的開始 bin bash 這部分內容是必須寫的,並且在首行,就是宣告這是乙個shell程式。如何執行shell指令碼 第一種是 附許可權給指令碼,直接執行 chmod 755 指令碼名字 例如 chmod 775 hello.sh 接著我們可以使用絕對路徑來執行我們的指令碼,就可以執行指令碼...
Linux程式設計知識點彙總
shell 是指linux的使用者介面,使用者通過這個介面訪問作業系統核心的服務。shell也是一種解釋型程式語言。常見的shell種類 linux作為伺服器的作業系統的優勢 linux檔案系統是分層樹型結構,在根目錄 下有許多子目錄,比如 通過chmod命令可以修改許可權。命令功能 ls顯示當前目...
Python程式設計知識點彙總
開源生態好 語法簡單 由於python的生態好,有眾多的開源庫。因此python的程式設計更加注重 的復用,注重模組程式設計,對第三方庫的使用。庫名功能 turtle 繪圖math 數 算 pil影象處理 opencv numpy 多維陣列 request 請求html 用於爬蟲 bs4處理html...