C++的函式過載(具體應用)
阿新 • • 發佈:2019-01-12
一、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); }