函數重載與函數指針(這一塊很重要,後續要繼續學習):
當使用重載函數名對函數指針賦值時
根據重載規則挑選與函數指針參數列表一致的候選者
嚴格匹配候選者的函數類型與函數指針的函數類型
#include <iostream> using namespace std; void myFunc(int a) { printf("a:%d\n",a); } void myFunc(char *p) { printf("p:%s\n",p); } void myFunc(int a,int b) { printf("a:%d\n",a); } //函數指針 基礎的語法 //1 聲明一個函數類型 //void myFunc(int a,int b) typedef void (myTypeFunc)(int a,int b); //myTypeFunc *myfuncp = NULL;//定義一個函數指針,這個指針指向函數的入口地址 //2 聲明一個函數指針類型 typedef void (*myPTypeFunc)(int a,int b);//聲明瞭一個指針函數類型 //myPTypeFunc fp = NULL; //通過函數指針類型 定義了一個函數指針 //3 定義一個函數指針 變量 void (myVarPFunc)(int a,int b); int main(int argc, char *argv[]) { myPTypeFunc fp = NULL; fp = myFunc(); fp(1,2); cout << "Hello World!" << endl; return 0; }
注意區分 函數重載 重寫 重定義