1. 程式人生 > >C++的函式過載(具體應用)

C++的函式過載(具體應用)

一、C++過載函式的函式匹配步驟

1先根據函式名進行查詢--------找到一個或多個同名的函式(若一個都沒有,報編譯錯誤)

2找到函式名後按照“型別”+“個數”進行匹配----------若找到一個完全匹配(引數個數和型別都相同)的函式,則呼叫該函式

                                                                  -----------若沒有找到完全匹配的,則模糊匹配

3模糊匹配

滿足以下條件時,模糊匹配成功。

引數個數相同,引數型別可以自動轉換(隱式轉換)double a=10;

若有一個可以模糊匹配,則匹配;若有兩個,則報錯,編譯器不知道選哪一個。

#include<stdio.h>
double find_max(double a,double b){  //引數個數相同,可以匹配
    ------;
}
double find_max(float a,float b){  //引數個數相同,可以匹配
    ------;
}
double find_max(double a,double b,double c){//引數個數相同,不可以匹配
    ------;
}

int main(){
    int a=10;
    int b=10;
    find_max(a,b);//此時改為find_max((double)a,(double)b);
}