#include
#include
using
namespace
std;
void func()
void func(int a)
void func(int a, int b)
void func(string a, string b)
typedef
void (fp1)(int, int);
typedef
void(*fp2)(int, int);
int main()
輸出結果:
函式指標有三種宣告方式:
1、第一種即上面fp1的宣告方式,定義乙個函式型別
typedef
void (fp1)(int, int);
2、第二種即上面fp2的宣告方式,定義乙個函式指標型別
typedef
void(*fp2)(int, int);
3、第三種即上面fp3的宣告方式,定義乙個函式指標變數
void(*fp3)(int, int) = func;
一旦函式指標宣告時確定了引數型別,那麼就是嚴格型別匹配的,當然因為這裡沒有double或者float型別的函式過載,如果引數是double或者float型別,同樣可以通過上面定義的函式指標進行函式呼叫,這個就跟函式過載的型別匹配規則是一致的了。 函式過載遇上函式指標
函式過載遇上函式指標 將過載函式名賦值為函式指標時 1.根據過載規則挑選與函式指標列表一致的候選者 2.嚴格匹配候選者的函式型別與函式指標的函式型別 看下面的 include int func int x int func int x,int y int func int x,int y,int z...
當函式模版遇上函式過載
demo 1 include using namespace std 讓 型別引數化 方便程式設計師進行編碼 泛型程式設計 template 告訴c 編譯器 我要開始泛型程式設計了 看到t,不要隨便報錯 template void myswap t a,t b void myswap int a,c...
當函式模版遇上函式過載
demo 1 include using namespace std 讓 型別引數化 方便程式猿進行編碼 泛型程式設計 template 告訴c 編譯器 我要開始泛型程式設計了 看到t,不要隨便報錯 template void myswap t a,t b void myswap int a,cha...