注册 登录
编程论坛 C++教室

默认参数函数与重载函数一起时,是否可以用另外方法来替代重载函数?

棋局 发布于 2011-03-18 18:34, 566 次点击
在c++中:
用带有默认参数的函数时,是不是严格的不能用重载函数?
如果一定要用带有默认参数的函数时,而此时又用重载函数则最好,那是否可以用其他方法来取代重载函数?
4 回复
#2
pangding2011-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
rjsp2011-03-21 13:34
uint_t mymax( uint_t a, uint_t b, uint_t c=0 );
#5
pangding2011-03-21 17:15
感觉能出出这破题的书质量也高不到哪去。
1