#include<iostream>
using namespace std;
/*
内联函数:代码在执行的过程当中,形式是二进制代码的形式,它不需要去编译,牺牲空间提高效率,内容短小
用inline修饰的函数 或者 是在结构体中 或者 类中实现的函数
函数重载:允许同名不同参函数存在,只和参数有关系,系统是通过调用的时候,根据数据的类型去决定调用哪个函数
不同参:1.数目不同
2.类型不同
3.顺序不同,建立存在不同类型
函数缺省:给形参初始化(重载的集合体)。注意的是:缺省只能从右往左
*/
//内联函数
inline int Max(int a,int b)
{
return a > b ? a : b;
}
//函数重载
//类型不同
char Max(char a,char b)
{
return a > b ? a : b;
}
//数目不同
int Max(int a,int b,int c)
{
return a>b?a:b>c?a:b?a:b:c;
}
//顺序不同一定要存在不同类型
void print(char a,int b)
{
cout << a << "\t" << b <<endl;
}
void print(int a,char b)
{
cout << a << "\t" << b <<endl;
}
//函数缺省
void function(int a=3; int b=2; int c = 1)
{
cout << a << endl;
cout << b << endl;
cout << c << endl; //不传参数的时候采用的是默认值
}
int main()
{
cout << Max('A','B') << endl;
cout << Max(1 , 2 , 3) << endl;
print('A',12);
print(12,'A');
//缺省能够实现同一函数的不同调用形态
function(1);
function(1,2);
function(1,2,3);
system("pause");
return 0;
}