学习内容
函数重载
#include "iostream"
#include "stdio.h"
#include "stdlib.h"
using namespace std;
//函数参数相关扩展
//对于函数参数的默认值
int a(int a,int b,int c=1)//括号内存在的即为默认的参数值,当没有传入参数数据的时候,会写入默认的参数数值
{
return 0;
}
//函数占位参数
//也就是函数定义的时候不输入参数的名称,而直接写入参数的类型
int b(int a,int b,int)
{
return 0;
}
//函数默认参数和占位参数结合
int c(int a ,int =0)
{
return 0;
}
//函数重载 同一个函数名定义不同的函数 1 参数个数不同 2 参数类型不同 3 参数顺序不同
//函数重载也可以和函数指针搭配使用
int d(int a,int b,int c)
{
return 0;
}
int d(char a,int b,int c)
{
return 0;
}
int d(int a,int b)
{
cout<<a<<b<<endl;
return 0;
}
/*int d(int a,int c,int b) //顺序不同好像并不行了:::
{
return 0;
}*/
//注意默认参数会使得函数重载产生二义性,所以不能编译通过
//函数重载和函数指针在一起
int main()
{
typedef int (aa)(int a,char *b);//声明一个函数类型
typedef int(*p)(int a,int b);//声明一个函数指针类型
p a=d;
a(1,2);
return 0;
}