请使用菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明了Date类,它是一个用于表示日期的类。成员函数isLessThan用以比较两个日期的大小:当第一个日期早于第二个日期时,返回true,否则返回false。请补充完整函数isLessTh

admin2016-08-19  29

问题 请使用菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明了Date类,它是一个用于表示日期的类。成员函数isLessThan用以比较两个日期的大小:当第一个日期早于第二个日期时,返回true,否则返回false。请补充完整函数isLessThan。在main函数中给出了一组测试数据,此情况下程序的输出应该是:
    2007-06-21<2007-07-03
    2007-06-21>=2007-06-19
    2007-06-21<2010-01-01
    注意:只需在函数isLessThan的//********333********和//********666********之间填入若干语句,不要改动程序中的其他内容。
    1  #include"Date.h"
    2  int main(){
    3 Date datel(2007,6,21),date2(2007,7,3),date3(2007,6,19),date4(2010,1,1);
    4 datel.show();
    5 datel.isLessThan(date2)?cout<<"  <  ¨  :  cout<<"  >=";
    6 date2.show();cout<    7 datel.show();
    8 datel.isLessThan(date3)?cout<<"  <  " :  cout<<"  >=";
    9 date3.show();cout<    10 datel.show();
    11 datel.isLessThan(date4)?cout<<"  < ":  cout<<" >= ";
    12 date4.show(); cout<    13    writeToFile("c:\test\");//不用考虑此语句的作用
    14    return 0;
    15    }
    1  //proj3\Date.cpp
    2  #include"Date.h"
    3  void Date::show(ostream&os){
    4    os<    5    (’0’)<    6  bool Date::isLessThan(Date date)
    7  const{//********333********
    8
    9
    10    //********666********
    11  }
    1  //proj3\Date.h
    2  #include
    3  #include
    4  using namespace std;
    5  class Date{
    6    int year;
    7    int month;
    8    int day;
    9   public:
    10  Date(int y,int m,int.d):year
    11  (y),month(m),day(d){}int getYear()const{return year;}
    12    int getMonth()const { return month;}
    13    int getDay()const{return day;}
    14    void show(ostream&os:cout);
    15    bool operator=:(Date date)const{
    16    return year==date.year&&month
    17  ==date.month&&day==date.day;
    }
    18    bool isLessThan(Date date)const;
    19    };
    20  void writeToFile(const char*path);

选项

答案1 bool less=false: 2 if(year
解析 主要考查考生对成员函数、关系运算符和逻辑运算符的掌握,成员函数isLessThan是将该对象本身与参数date进行比较,返回是否小于的布尔值。为了比较isLessThan的调用对象与date的大小,需要依次比较year、month、day三个整数,由于date的year、month、day都是私有成员,所以不能在islessThan中直接使用date的私有成员,而是应该使用date的共有成员函数来返回这些值,再将本身的成员与返回值比较,同时,为了比较时间大小,应该首先将year进行比较,接着是month,最后是day,并将比较结果暂存布尔变量less中,最后返回。
转载请注明原文地址:https://kaotiyun.com/show/IZNp777K
0

最新回复(0)