宜宾网站设计,衡水网站建设在哪里,个人网站官网,南宁青秀网站建设1.函数默认参数#xff1a;
在#xff08; #xff09;中将参数赋值#xff0c;如果传值了#xff0c;则用传入值#xff0c;否则才用函数中默认参数。
例#xff1a;
int func(int a, int b 3, int c 3)
{return a b c;
}
int main()
{cout func(1, 2)…1.函数默认参数
在 中将参数赋值如果传值了则用传入值否则才用函数中默认参数。
例
int func(int a, int b 3, int c 3)
{return a b c;
}
int main()
{cout func(1, 2) endl;//6return 0;
}
注1.如果一个位置有了默认参数那么之后的所有位置都要有默认参数。
int func(int a 1, int b, int c 3)//错误a有默认参数后其后参数都应该有默认参数
{return a b c;
}
2.声明和实现只能有一个有默认参数。
int func(int a 1, int b 2);
int func(int a 1, int b 2)//错误重定义声明和实现只能有一个有默认参数
{return a b;
}
2.函数占位参数
在函数 中只有数据类型没有变量名的变量称作函数占位参数。
且占位参数必须有值传入。
void func(int a, int)//int 即为占位参数
{cout a endl;
}
int main()
{func(10, 10);//有两个值后面的传给占位参数return 0;
}
注1.暂时用不到。 2.占位参数也可以有默认参数。 int 10
3.函数重载
3.1.概念
函数名称相同提高复用性。
即根据传入的数据不同调用同名的不同函数。
3.2.满足条件
1在同一个作用域下
2函数名相同
3函数参数类型不同或者个数不同或者顺序不同。
注1.返回值不同不作为函数重载的条件 2.参数有无 const 算作不同类型。
例
void func()
{cout func的调用1 endl;
}
void func(int a)
{cout func的调用2 endl;
}
3.3.注意事项
1.引用作为重载条件有无 const
void func(int a)
{cout func(int a)调用 endl;
}
void func(const int a)
{cout func(const int a)调用 endl;
}
int main()
{int a 10;func(a);//调用(int a)func(10);//调用(const int a)return 0;
}
2.函数重载默认参数
void func(int a)
{cout func(int a)的调用 endl;
}
void func(int a, int b 10)
{cout func(int a)的调用 endl;
}
int main()
{func(10);//错误函数重载两种都可调用return 0;
}
结论在函数重载中尽量不出现默认参数。