请使用VC6或使用【答题】菜单打开考生文件夹projl下的工程proj1。该工程中包含程序文件mmn.cpp,其中有类CDate(“日期”)和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。

admin2016-06-12  26

问题 请使用VC6或使用【答题】菜单打开考生文件夹projl下的工程proj1。该工程中包含程序文件mmn.cpp,其中有类CDate(“日期”)和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:
原日期:2005—9—25
更新后的日期:2006—4—1
注意:只修改每个“//ERROR****fould****”下的那一行,不要改动程序中的其他内容。
#include
#include
using namespace std;
class CDate//日期类
{
//ERROR**********found***********
protected:
  CDate(){};
  CDate(int d,int m,int y)
{
//ERROR********** found***********
SetDate(int day=d,int month=m,
int year=y);
};
void Display();//显示日期
void SetDate(int day,int month,int year)
//设置日期
  {m_nDay=day;m nNonth=month;mnYear=year;)
private:
  int m_nDay;//日
  int m nNonth;//月
  int m nYear;//年
};
void CDate::Display()//显示日期
{
//ERROR**********found***********
  cout<<<“一”<  cout<}
int main()
{
  CDate d(25,9,20 05);
//调用构造函数初始化日期
  cout<<“原日期:”;
  d.Display();
  d.SetDate(1,4,200 6);
//调用成员函数重新设置日期
cout<<”更新后的日期:;
d.Display();
return 0;
}

选项

答案(1)public: (2)SetDate(d,m,y); (3)cout<
解析 本题考查CDate类,其中涉及构造函数和成员函数。判断函数是公有成员还是保护成员,主要通过在主函数中函数的调用来确定,如果函数在主函数中被调用则说明是公有成员,否则为私有成员或者保护成员。
【解题思路】
(1)通过主函数中成员函数的调用可知这里应该为公有成员,而且构造函数必须为公有继承。
(2)主要考查考生对成员函数的掌握,程序在这里调用成员函数SetDate,直接把形参代入即可。
(3)题目要求输出原日期:2005—9—25。可以知道输出顺序为:先输出年,其次月,最后是日。
【解题宝典】
主要考查考生对公有成员,成员函数的掌握,构造函数一般情况下肯定是公有成员,当涉及派生类时才会使用保护成员。
转载请注明原文地址:https://kaotiyun.com/show/cYNp777K
0

最新回复(0)