问答题
请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程pmjl。该工程中包含程序文件main.cpp,其中有类CDate(“日期”)和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:原日期:2005—9—25更新后的日期:2006—4—1注意:只修改每个“//ERROR****found****”下的那一行,不要改动程序中的其他内容。#include<iostream>#include<CStdlib>usingnamespacestd;classCDate//日期类{//ERROR*********found*********protected:CDate()();CDate(intd,intm,inty){//ERROR*********found*********SetDate(intday=d,intmonth=m,intyear=y);},voidDisplay();//显示日期voidSetDate(intday,intmonth,intyear)//设置日期{m_nDay=day;m_nNonth=month;m_nYear=year;}private:intm_nDay;//日intmnNonth;//月intmnYear;//年};voidCDate::Display()//显示日期{//ERROR*********found*********tout<<m_nDay<<"一"<<m_nNonth<<"一"<<m._nYear;cout<<end1;}intmain(){CDated(25,9,2005);//调用构造函数初始化日期cout<<"原日期:";d.Display();d.SetDate(1,4,2006);//调用成员函数重新设置日期cout<<"更新后的日期:";d.Display();return0;}
【正确答案】正确答案:(1)public: (2)SetDate(d,m,y); (3)cout<
【答案解析】解析:(1)通过主函数中成员函数的调用可知这里应该为公有成员,而且构造函数必须为公有继承。 (2)主要考查考生对成员函数的掌握,程序在这里调用成员函数SetDate,直接把形参代人即可。 (3)题目要求输出原日期:2005—9—25。可以知道输出顺序为:先输出年,其次月,最后是日。