C 之過載函式

2021-07-11 00:07:09 字數 656 閱讀 8974

c語言是實現不了過載的,只要兩個函式名稱相同,就會報錯,但是c++可以實現函式的過載,接下來我們看一下過載的規則。

1.過載規則:

(1)函式名相同

(2)引數的個數,型別,順序不同都可以構成過載

(3)返回值型別不相同不可以構成過載

接下來我們看下具體的例子:

void func(int a); 

void func(char a);

void func(char a,int b);

void func(int a, char b);

char func(int a); //與第乙個函式有衝突,不能構成過載

程式執行的時候怎麼識別出具體使用哪個函式呢?所以我們還要了解匹配的原則

2.匹配原則:

(1)嚴格匹配,找到即呼叫

(2)通過隱式轉換尋求乙個匹配,找到即呼叫

#include 

using

namespace

std;

void print(float a)

注:

c++ 允許,int 到long 和double,double 到int 和float 隱式型別轉換。遇到這種情型,則會引起二義性。

C 之 函式過載

函式的過載 函式的過載就是可以在乙個程式中使用同名的若干個函式。主要的限制是給定名稱的每個函式必須有不同的引數列表。也就是說,乙個引數列表中的引數型別與另乙個不同 不僅僅是引數名不同,實際上,如果滿足下列條件之一,兩個同名函式就是不同的 1.每個函式的引數個數不同 2.引數的個數相同,但至少有一對對...

c 之函式過載

一 概念 c 中函式過載是如何實現的呢?這個可以分解為下面兩個問題 1.宣告 定義過載函式時,是如何解決命名衝突的?拋開函式過載不談,using就是一種解決命名衝突的方法,解決命名衝突還有很多其它的方法,這裡就不論述了 2.當我們呼叫乙個過載的函式時,又是如何去解析的?即怎麼知道呼叫的是哪個函式呢 ...

C 之函式過載

c 允許功能相近的函式在相同的作用域內以相同函式名宣告,從而形成過載。方便使用,便於記憶。例 1 形參型別不同 int add int x,int y float add float x,float y 2 形參個數不同 int add int x,int y int add int x,int y...