问答题
18分
打开考生文件夹下的工程proj3,其中声明了Date类,它是一个用于表示日期的类。成员函数 isLessThan用以比较两个日期的大小:当第一个日期早于第二个日期时,返回 true...
打开考生文件夹下的工程proj3,其中声明了Date类,它是一个用于表示日期的类。成员函数 isLessThan用以比较两个日期的大小:当第一个日期早于第二个日期时,返回 true,否则返回 false。请补充完整函数 isLessThan。在main函数中给出了一组测试数据,此情况下程序的输出应该是:
注意:只需在函数isLessThan的 //********333******** 和
//********666******** 之间填入若干语句,不要改动程序中的其他内容。
注意:只需在函数isLessThan的 //********333******** 和
//********666******** 之间填入若干语句,不要改动程序中的其他内容。
参考解析: 【参考答案】
bool less = false;
if (year < date.getYear() || year == date.getYear() && month < date.getMonth() || year == date.getYear() && month == date.getMonth() && day < date.getDay())
{
less = true;
}
return less;
【考点分析】
本题考查的是Date类,其中涉及布尔变量、成员函数的使用、逻辑运算符和关系运算符的使用。
【解题思路】
主要考查考生对成员函数、关系运算符和逻辑运算符的掌握,成员函数isLessThan是将该对象本身与参数date进行比较,返回是否小于的布尔值。为了比较isLessThan的调用对象与date的大小,需要依次比较year、month、day三个整数,由于date的year、month、day都是私有成员,所以不能在islessThan中直接使用date的私有成员,而是应该使用date的共有成员函数来返回这些值,再将本身的成员与返回值比较,同时,为了比较时间大小,应该首先将year进行比较,接着是month,最后是day,并将比较结果暂存布尔变量less中,最后返回。