《面向對象基礎:C++實現》學習筆記之二

1、引用:函數中的參數可以按值或按引用傳遞;

2、引用參數:引用提供的對象的別名或可選名,引用的最重要的用途是向函數傳遞參數。

3、從函數返回引用:按引用傳遞不會造成實際變量的副本,而只是創建一個別名,該別名在被調函數中可以用作形式變量;類似地,返回引用並不是返回變量的值,而是返回別名。

4、常量引用:用於不希望修改對象,以及要把大對象當作輸入參數傳遞給函數的情況;

5、函數的默認參數優點:如果要使用的參數在函數中總是採用相同的值,則默認參數非常有用;如果在程序編寫完後,程序員決定通過添加參數來增加函數的功能,此時默認參數也非常有用;

6、內聯函數使用要點:編譯器必須看到函數定義,而不僅僅是在第一次函數調用之前聲明,這是因爲編譯器必須在程序中插入實際代碼,而不僅僅是插入調用該函數的指令;inline 關鍵字實際上只是對編譯器的請求,有時編譯器會忽略該請求,而像編譯常規函數那樣編譯該函數;當爲包含不同源文件的應用程序定義內聯函數時,不允許爲不同源文件中的內聯函數指定不同的實現;

7、函數重載:在面向對象編程中,函數重載是一個重要特性;用於用於定義一組函數,這些函數具有相同的名稱,執行基本相同的操作,但是使用不同的參數列表;

8、函數重載的優點:不必對相同的操作使用不同的函數名、有助於更輕鬆地理解和調試代碼、更易於維護代碼;

9、函數多態性:函數重載可以看成是一種多態性,多態性實質是指一個實體可以有多種形式;因此,函數多態性意味着一個函數有多種形式;

10、數據類型不同的重載:只要參數的類型不同,編譯器就能夠區分各個帶有相同個數的參數的重載函數;通過函數重載,程序員的工作得到以簡化了一些,因爲函數重載減少了要記住的函數名的個數;

11、參數個數不同的重載:除了對不同的數據類型進行重載之外,對於函數調用中參數個數不同的情況也可以進行函數重載;編譯器解析重載的方式與函數的聲明順序無關,而且不會考慮函數的返回值類型;

12、函數重載的作用域規則:函數重載是用相同的名稱定義多個函數(它們的區別只是參數的類型和數目不同)的過程,重載機制只有在函數聲明的作用域內纔有效,可以對類的不同作用域聲明相同的函數名,或使用全局和局部聲明,但是這些方式不是函數重載。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章