C 函式名過載

2021-07-30 08:07:47 字數 846 閱讀 3901

函式名過載:給多個不同的函式(引數的型別或個數有所不同)取相同的名字

注:如果兩個函式的引數型別和個數都相同,知識他們的返回值型別不同,不能對其進行函式名過載,因為函式呼叫時不能區分呼叫的是哪個函式。

(和函式名過載沒有太大關係:函式名可轉換成函式函式指標)

過載函式的繫結

1. 精確匹配

蘿蔔放進蘿蔔筐,白菜放進白菜筐

2. 提公升匹配

精確匹配不到就進行提公升匹配

1)按整型提公升規則

2)把float提公升到double,把double提公升到long double

3. 標準轉換匹配

提公升匹配不到就進行標準轉換匹配

標準轉換規則:

1)任何算術型別可以互相轉換

2)列舉型別可以轉換成任何算術型別

3)可以轉換成任何算術型別或指標型別

4)任何型別的指標可以轉換成void *

5)派生類指標可以轉換成基類指標

6)每個標準轉換都是平等的(也就是1到5的優先順序相同)

4. 自定義轉換匹配

1)強制型別轉換

2)增加額外的過載

對於含有兩個或兩個以上引數的過載函式繫結問題,原則是先繫結最佳匹配(也就是引數對應個數越多)。

C 函式名過載

c語言沒有函式名過載,c 有函式名過載。函式名相同,函式引數列表不同,稱為函式名過載。函式引數列表不同包括 1 引數個數不同 2 引數型別不同 include stdio.h double find max double a,double b,double c else if max c retur...

C 函式名字的隱藏 重寫 過載 重定義

概要 c 中經常出現函式名字一樣,但引數列表或返回值不同的函式,要搞清楚函式的正確呼叫關係,需理清三個概念 重寫 override 過載 overload 重定義 redefine 一 三個基本概念 1 重定義 redefine 派生類對基類的成員函式重新定義,即派生類定義了某個函式,該函式的名字與...

C 函式名前的

函式名前的 可以讓你用 函式名 的方式獲取返回值的位址。這種方法可不等同於新建立乙個變數,用這個變數接收返回值,然後再用 變數的方式獲取位址 我們都知道新建立的變數的記憶體位址是重新開闢的記憶體,和函式的返回值位址沒有任何關係 test console.cpp 定義控制台應用程式的入口點。inclu...