初學者C 命名空間和函式過載

2021-08-16 12:49:30 字數 891 閱讀 3447

#include包含的是標準的輸入輸出流,其作用是提供輸入輸出時的一些資訊。

一.命名空間:不同於c語言的,c++程式包含了命名空間,其含義為:使用命名空間std.因為c++標準庫中的類

和函式是定義在命名空間std裡的,如果程式要使用c++標準庫中的類和函式,就需要宣告using namespace 

std;做提前宣告,表示要用到命名空間裡的內容。

using namespace std;把std命名空間裡的內容展開,命名空間主要用於名字隔離,

解決命名衝突,可以巢狀。

符號::為域作用符,符號之前為所定義域的名稱,後面為域中的成員名。

例如:#include

using namespace std;

namespace boy

}int main()

二:函式過載

為什麼c語言不支援過載而c++支援過載?其原因在於c和c++的函式名修飾規則不同。首先先介紹一下什麼叫做

函式過載,函式過載指的是函式的引數不同(個數或者型別不同),那麼由於我們的函式名修飾規則導致函式在

編譯時所產生的函式名有所區別。

例如:void func();和函式void func(int a,double b)在c語言中重新命名的時候函式名保持不變,所以在一

個c語言**的同乙個作用域中是不可能出現兩個相同的函式,而在c++中,上面兩個函式會被分別命名為:

_z5funcv和_z5funcid,在呼叫的時候可以很清楚的區分開到底想要呼叫哪個函式。

三:預設引數

在c++中,預設分為全預設和半預設。

全預設:在呼叫函式時沒有進行傳參,就使用預設引數,如果傳參,則按照傳的引數執行程式。

半預設:必須要傳乙個引數,另外的引數採用預設值。半預設那個只能預設右邊的引數並且要連續預設。

為初學者解釋下命名空間

示例場景 張三外賣小哥,突然接到了兩份外賣訂單,兩個客戶的名字既然一模一樣,更巧的是這兩個客戶居然住在同乙個小區 的同一棟。對於如此巧合的外賣訂單,外賣小哥只有嚴謹仔細的將送貨位址詳細的寫在紙上,以免出錯。示例圖 對映到程式中,同樣會出現上述例子出現的問題。在實際開發中我們通常會類中引用其他的類,引...

函式(初學者)

乙個較大的程式可分為若干個程式模組,每乙個模組用來實現乙個特定的功能。在高階語言中用子程式實現模組的功能,子程式由函式來完成。乙個c程式可由乙個主函式和若干個其他函式構成。函式間的呼叫關係 由主函式呼叫其他函式,其他函式也可以相互呼叫。同乙個函式可以被乙個或多個函式呼叫任意多次。例 include ...

過載和多型之間的關係?!(C 初學者)

過載和多型之間的關係!額呵呵,根本就沒有關係!過載就是過載!我就是我,不一樣的煙火!過載是指相同的函式名稱,不同的引數型別或者引數個數不同的函式 在編譯的時候,自動尋找相匹配的函式!與物件導向的設計是沒有關係的!別人說的!多型裡面涉及的子類和父類成員函式之間的關係還是比較複雜的!但是一碼事歸一碼事請...