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