1. 程式人生 > >C++複習筆記

C++複習筆記

1.建構函式和解構函式沒有返回型別和返回值,一般都是public型別。只有在單例模式(explicit)下才可以是pravite型,並且需要為建構函式與一個靜態函式繫結,使得該物件在整個程式執行的過程中只會執行一次。同時,建構函式與解構函式還是互補的關係,前者是初始化資料成員,後者的作用是在刪除物件是隱式的呼叫在系統回收物件記憶體前執行清理工作。

2.內斂函式能夠減小函式呼叫的開銷,即編譯器可將程式碼複製到程式中,這樣可以使程式效率提高但是規模變大。

3.友元函式不是成員函式,且友元的宣告在類中。變數型別後面跟變數名。類名後面跟物件名。

4.This指標是常指標,return *this是返回物件的作用。其中:友元函式與static無this指標。

5.static資料成員和static資料成員函式獨立於類的任何物件而存在(從用法中考慮)。

6.運算子的過載不能改變其結合律,操作個數,優先順序還有語法結構,過載函式就是名字相同,返回值或引數列表不同。

7.派生類的成員後漢書不能直接訪問基類的pravite成員,派生類是雞肋的具體化,而積累是派生類的抽象,並且派生類可以通過同名覆蓋的方式對基類成員進行修改。

8.在類中,函式名不能跟變數名重名,物件不可以直接呼叫保護許可權的變數,只能訪問類的公有成員。

9.protected對於類的物件來說,許可權與pravite相同,而對於派生類來說與public的許可權相同。

10.基類中的建構函式不被繼承,派生類需要宣告自己的建構函式,派生類中的建構函式依附於基類中的建構函式。

11.在繼承類中,建構函式的執行順序:基類->子物件->派生類。

12.虛基類是為了解決二義性問題,Virtual支隊緊隨其後的名字起作用,通過指標引起的普通成員函式的呼叫,僅僅與指標的型別有關而與指標正指向什麼物件無關。

13.虛擬函式的呼叫方式是根據指標指向的物件類決定(因此說解決了二義性)。

14.只有成員函式才能宣告為虛擬函式,虛擬函式是針對物件的。

15.建構函式在物件生成之前執行,如果一個基類包含一個或一個以上的純虛擬函式,就是抽象基類。且不能定義物件。