在类中发出默认参数

时间:2013-12-04 02:25:46

标签: c++ class parameters default

我对 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”是其他值,我该如何编写代码? 有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:0)

在C ++中,您可以省略使用默认参数声明的函数参数,但是您只能省略参数列表的 end 中的一个或多个函数参数。所以,给定

Test(int ai = 0, int bi = 0)

无法传递bi的值并将ai保留为默认值。