编程论坛
注册
登录
编程论坛
→
C++教室
默认参数函数与重载函数一起时,是否可以用另外方法来替代重载函数?
棋局
发布于 2011-03-18 18:34, 566 次点击
在c++中:
用带有默认参数的函数时,是不是严格的不能用重载函数?
如果一定要用带有默认参数的函数时,而此时又用重载函数则最好,那是否可以用其他方法来取代重载函数?
4 回复
#2
pangding
2011-03-18 19:17
能用重载,只要没歧义就行。
比如,如果一个函数是
f(int a = 5)
另一个是
f()
那么当你以无参数的方式调用的时候,编译器无法确定你是想要调用那个无参数的函数,还是想要以默认参数调用那个有参数的函数。
只要没有类似的歧义,就没有限制。
[
本帖最后由 pangding 于 2011-3-18 19:20 编辑
]
#3
棋局
2011-03-21 12:45
回复 2楼 pangding
那说个简单的,C++课后习题1-11,求2个数或3个正整数中的最大数,用带有默认参数的函数实现。
看看 你怎样来实现嘛?
#4
rjsp
2011-03-21 13:34
uint_t mymax( uint_t a, uint_t b, uint_t c=0 );
#5
pangding
2011-03-21 17:15
感觉能出出这破题的书质量也高不到哪去。
1