C 物件導向程式設計 複習重點概念

2021-10-16 12:44:18 字數 2000 閱讀 4403

內聯函式

乙個函式,前面加有關鍵字inline。系統在編譯時,凡遇到呼叫內聯函式,則在實參替代形參後,用該函式中的全部**來代替被呼叫函式。語句較少,且被頻繁呼叫的函式可被定義為內聯函式。

函式過載

指在同乙個命名空間內,多個函式可以擁有相同的名字。要求過載的函式至少在引數個數或引數型別上與已定義的函式不同。

引用變數

指給已經存在的變數起乙個別名,即引入了乙個變數的同義詞。引用變數用識別符號&表示。引用變數可以取代指標變數。引用變數主要用來設計函式的輸出型別引數。

建構函式(特殊無返回型別的起初始化作用的成員函式)

指建立類的例項時,系統自動呼叫的、完成物件的初始化賦值工作的特殊成員函式。

析構函式

指當程式中建立的物件脫離其作用域時,系統將自動呼叫析構函式來完成動態申請記憶體空間的釋放,以及其他一些掃尾工作。

過載建構函式

建構函式過載可以為外部程式建立物件提供靈活性。

拷貝建構函式

指一種只有乙個相同類型別引數的建構函式。語句形式固定,即用引數所代表的物件的各個成員變數值作為建構函式的初始值。用來複製已建立的物件。

const修飾的成員變數與成員函式

當成員函式的某個引數修飾為const時,表示該引數在成員函式內不能更改。當成員函式修飾為const時,表示限制該成員函式只能讀取當前物件的成員變數,但不能修改當前物件的成員變數。

友元

乙個類的友元被允許訪問該類的私有(保護)成員。友元為嚴密封裝的類提供了方便快捷的訪問途徑。

運算子過載

對系統中已定義過的運算子進行過載。可將運算子過載為類的成員函式,即objectx.operator+(objecty)形式。

繼承性

繼承就是指乙個新的類擁有全部被繼承類的成員變數和成員函式。

①公有繼承(public):不變。

②私有繼承(private):保護和公有成員變為私有。

③保護繼承(protected):公有成員變為保護。

函式過載和覆蓋的異同點

①同:均要求函式名相同。

②異:覆蓋要求引數個數和型別與父類的完全相同,返回值型別也相同(均不考慮返回值型別)。

多重繼承的二義性問題的解決方法

①消除成員變數的二義性:在同名成員變數前加類名作用域;或在宣告子類時,在繼承方式前加上virtual關鍵字(虛基類)。

②消除成員函式的二義性:在同名成員函式前加類名作用域。

虛函式

前加virtual關鍵字的成員函式為虛函式。對於虛函式,系統將按動態聯編(滯後聯編)的方式考慮物件的成員函式呼叫。設計方法為,先建立物件指標,再將物件指標值賦給物件指標,即a *pa; pa = &b; pa->vf()格式。

引數多型性

指用引數方法決定乙個類的資料型別。

模板(template )

一種基於型別引數生成類或函式的機制。引數例項化,將資料型別作為引數。

類模板和模板類

①類模板允許使用者為類定義乙個模式,使得類中的某些引數能夠取任意型別。它的存在不代表乙個具體的、實際的類,而是代表一類類。

②模板類是模板例項化後的乙個產物,可以用來建立物件。

異常處理的三個關鍵字

①throw語句用來丟擲異常。

②try關鍵字用來圈定程式中可能出現異常的語句段,從而通知系統,注意異常發生時的捕捉。

③catch語句用來給出異常的處理方法。

(如有紕漏,敬請指出)

C 物件導向程式設計複習

向上型別轉換 派生類轉換為基類型別 靜態繫結,早繫結 實現多型用動態繫結,繫結推遲到程式執行時,c 中用虛函式實現 非靜態成員函式可以宣告為虛函式,虛函式繫結是根據物件型別確定的 派生類定義的虛函式引數表與基類不同,在派生類中會隱藏基類的虛函式。函式名與參數列相同,返回型別不同,編譯器報錯 建構函式...

C 物件導向程式設計的重要概念

1.1 類與物件 物件 object 是類 class 的乙個例項 instance 如果將物件比作房子,那麼類就是房子的設計圖紙。所以物件導向程式設計的重點是類的設計,而不是物件的設計。類可以將資料和函式封裝在一起,其中函式表示了類的行為 或稱服務 類提供關鍵字public protected 和...

C 物件導向程式設計基本概念

繼承與派生 都是針對同一種技術現象的不同角度說法 子類繼承父類,父類派生出子類 繼承 乙個新類從已有的類那裡獲得其已有特性,這種現象稱為類的繼承。派生 從已有的類產生乙個新的子類 或稱為基類和派生類 多重繼承 乙個派生類有兩個或多個基類。派生類是基類的具體化,而基類是派生類的抽象。注 多重繼承的構造...