假设myDate类中仅定义了构造函数“myDate:myDate(int y=1981, int m=2, int d=18){year=y; month=m; day=d;}”,创建对象时若使用形式“myDate d1(2010);”,则输出这个对象的值是( )

假设myDate类中仅定义了构造函数“myDate:myDate(int y=1981, int m=2, int d=18){year=y; month=m; day=d;}”,创建对象时若使用形式“myDate d1(2010);”,则输出这个对象的值是( )


A、

1981


B、

1981/2/18


C、

2010


D、

2010/2/18


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

如果构造函数的定义中给出了参数的默认值,那么使用构造函数创建对象时,对应的实参是可以省略的。此时,使用默认值当作对应实参的值

本题中,myDate d1(2010);的实参只有“2010”,故别的参数使用默认值“2”,“18”,故答案为D。


Top