C 基礎知識(函式過載)

2021-09-22 01:31:16 字數 940 閱讀 8931

1 、函式過載overload----概述

c++中允許出現同名函式,這種現象就叫函式過載。函式過載的目的是為了方便使用函式名。

2、函式過載

2.1基本語法

實現函式過載的條件:1)同乙個作用域;2)引數個數不同;3)引數型別不同;4)引數順序不同。

注:返回值不作為過載的依據。

函式過載和預設引數設定一起使用時,需要額外注意二義性問題的產生。

2.2函式過載實現原理

編譯器為實現函式過載,預設做一些幕後工作。編譯器用不同的引數型別來修飾不同的函式名,編譯器如何修飾過載的函式名稱並沒有乙個統一的標準,所以不同的編譯器可能會產生不同的內部名。

#includeusing namespace std;

//函式過載

//c++中,函式名稱可以重複

//必須在同乙個作用域 函式名稱相同

//函式的引數 個數不同 或者 型別不同 或者順序不同

void func()

void func(int a)

//返回值不可以作為函式過載的條件

void func(double a, double b)

//int func(double a, double b)

////當函式過載 碰到了預設引數時,要注意避免二義性問題

void func2(int a, int b = 10)

void fun2(int a)

void test2()

//引用的過載版本

void func3(int &a) //引用必須要引合法的記憶體空間

void func3(const int &a) //const也可以作為過載的條件

void test03()

int main(void)

c 的基礎知識 函式過載

函式過載 在 c語言裡,在同檔案裡不可以有同名的函式 在c 裡可以有多個函式同名 例如我們要實現不同型別變數的 add函式 1 2 include 34 using namespace std 56 int add int a,int b 7 11 12 double add double a,do...

c 基礎知識7 函式過載

過載函式 含義 c語言中,函式如果重名會報錯。c 則引入了函式過載。編譯器將所有同名函式作為候選者,精確匹配實參 通過預設引數匹配實參 通過預設型別轉換匹配實參等等,尋找到正確的函式 如果匹配到不唯一或匹配不到,則編譯錯誤。本質 通過編譯後生成的obj檔案進行分析,可以看到同名函式在符號表中有不同的...

C 基礎知識 函式

寫在前面 在剛上大學的時候,學習各種各樣的計算機基礎知識,對我而言,剛開的時候我是不理解的,知識太抽象,只是機械的記住了概念和用法,往往忽略了一些細節。當自己實踐增多的時候,各種知識漸漸的清晰起來,所有東西都是有來龍去脈的,原來不理解的東西都豁然開朗起來。這個時候再取回顧原來學習的知識技能,又有一種...