函数重载与函数指针(这一块很重要,后续要继续学习):
当使用重载函数名对函数指针赋值时
根据重载规则挑选与函数指针参数列表一致的候选者
严格匹配候选者的函数类型与函数指针的函数类型
#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; }
注意区分 函数重载 重写 重定义
本文出自 “11907685” 博客,请务必保留此出处http://11917685.blog.51cto.com/11907685/1893303
原文地址:http://11917685.blog.51cto.com/11907685/1893303