假定一个类的构造函数如下:
A(int k = 4, int j = 0)
{   a = k;
    b = j;
}
则执行“A x(1);”语句后,x.a和x.b的值分别是(   )

假定一个类的构造函数如下:
A(int k = 4, int j = 0)
{   a = k;
    b = j;
}
则执行“A x(1);”语句后,x.a和x.b的值分别是(   )


A、

1和0


B、

​1和4


C、

4和0


D、

4和1


【正确答案】:A
【题目解析】:

调用函数时,给定的实参自左至右与形参进行一一匹配。如果实参的个数少于形参的个数,则不足的形参使用默认值进行初始化。这条规则也适用于构造函数的调用情况。本题中,代入的实参1赋给参数k,参数j的值为默认值0。故本题选A。


Top