函式過載的作用

2021-09-17 23:44:03 字數 583 閱讀 3183

函式過載是指在同一作用域內,可以有一組具有相同函式名,不同引數列表的函式,這組函式被稱為過載函式。過載函式通常用來命名一組功能相似的函式,這樣做減少了函式名的數量,避免了名字空間的汙染,對於程式的可讀性有很大的好處。

如果沒有函式過載機制,如在c中,你必須要這樣去做:為這個print函式取不同的名字,如print_int、print_string。這裡還只是兩個的情況,如果是很多個的話,就需要為實現同乙個功能的函式取很多個名字,如加入列印long型、char*、各種型別的陣列等等。、

類的建構函式跟類名相同,也就是說:建構函式都同名。如果沒有函式過載機制,要想例項化不同的物件,那是相當的麻煩!不用為了對不同的引數型別或引數個數,而寫多個函式。多個函式用同乙個名字,但參數列,即引數的個數或(和)資料型別可以不同,呼叫的時候,雖然方法名字相同,但根據參數列可以自動呼叫對應的函式。如果我們使用reflector去檢視微軟寫的.net的基類庫的話,我們可以發現他使用很多的方法過載,這樣我們在呼叫的時候,就不需要記那麼多的方法名稱,而是知道了方法的功能就可以直接的給他傳遞不同的引數,編譯器會明確的知道我們呼叫了哪乙個方法。操作符過載,本質上就是函式過載,它大大豐富了已有操作符的含義,方便使用,如+可用於連線字串等!

類繼承的作用域 函式隱藏 過載函式覆蓋

一 基類與派生類的作用域關係 1 每個類定義自己的作用域,在這個作用域內我們定義類的成員 2 派生類的作用域位於基類作用域之內 二 成員函式呼叫 1 乙個物件 引用或指標的靜態型別決定了該物件的哪些成員是可見的 即使靜態型別與動態型別可能不一致,但我們能使用哪些成員仍然是有靜態型別決定的 2 名字衝...

函式過載與作用域,陣列指標

別名宣告的作用 例 typedef int arrt 10 using arrt int 10 arrt func int i arrt是含有10個整數的陣列的別名,因為無法返回陣列,所以將返回型別定義成陣列的指標,因此,func函式接受乙個int實參,返回乙個指向包含10個整數的陣列的指標。函式過...

函式的過載

在面向過程的程式設計模式下,程式被劃分為資料結構 函式,這也就是那句著名的 程式 資料結構 演算法 的由來 在面向過程的思考方式下,函式名就是最好的標識,而名稱組織良好的函式集合是判斷 是否優美的乙個重要因素 在物件導向的思考方式下,一切都不同了 常見的情況下,應該為不同的函式起不同的名字,但是當這...