函数重载与函数指针(这一块很重要,后续要继续学习):
当使用重载函数名对函数指针赋值时
根据重载规则挑选与函数指针参数列表一致的候选者
严格匹配候选者的函数类型与函数指针的函数类型
#includeusing 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;}
注意区分 函数重载 重写 重定义