1.函数默认参数
a)非默认参数不能放在默认参数右边
b)函数声明时使用默认参数,定义照常?
-
void add(int m, int n = 0);
-
//void add(int m = 0, int n); 错误,非默认参数不能放在默认参数右边
-
void add(int m, int n)
-
{
-
return m + n;
-
}
2.函数重载
关键:函数的参数列表,也称为函数特征标
a)类型引用和类型本身视为同一个特征标
void add(int m, int & n);
b)
-
int add(int m, int n);
-
-
//特征标相同,返回值相同,X
-
int add(int mm, int nn);
-
//特征标不同,返回值相同,OK
-
int add(bool m, bool n);
-
//特征标相同,返回值不同,X
-
void add(int r, int n);
-
//特征标不同,返回值不同,OK
-
string add(string m, string n);
3.函数模板
a)使用模板之前,必须提供模板原型和模板定义
-
template < class any >
-
void myswap(any & m, any & n);
-
-
-
void myswap(any & m, any & n)
-
{
-
any tmp;
-
tmp = m;
-
m = n;
-
n = tmp;
-
}
阅读(729) | 评论(0) | 转发(0) |