我对 C ++ 类中的默认参数有疑问:
#include <stdio.h>
class Test {
public :
Test(int ai = 0, int bi = 0)
: a(ai), b(bi) { }
void print() { printf("a = %d, b = %d", a, b); };
private :
int a, b;
};
int main() {
Test t(1);
t.print();
return 0;
}
在此代码中,
结果将是“a = 1,b = 0(默认参数)”
如果我想设置“a”是默认参数而“b”是其他值,我该如何编写代码? 有没有办法解决这个问题?
答案 0 :(得分:0)
在C ++中,您可以省略使用默认参数声明的函数参数,但是您只能省略参数列表的 end 中的一个或多个函数参数。所以,给定
Test(int ai = 0, int bi = 0)
无法传递bi
的值并将ai
保留为默认值。