计算机2014年二级C上机考试试题及答案2

考试站(www.examzz.com)   【考试站:中国教育考试第一门户】   2014年6月21日

综合应用题 
  使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。 
  (1)完成TC的构造函数,请改正注释1后的错误。 
  (2)完成func函数定义,请改正注释2后的错误。 
  (3)初始化CmyClass的成员变量Num3为4,请改正注释3后的错误。 
  (4)完成func函数,请改正注释4后的错误。 
  输出的结果为 
  Num1=12 
  Num2=18 
  Num3=16 
  Num1=4 
  Num2=2 
  Num3=19 
  注意:除在指定位置添加语句之外,不要改动程序中的其他内容。 
  试题程序: 
  #include 
  classTC 
  { 
  public: 
  //********1******** 
  TC(inti,intj) 
  { 
  Numl=i; 
  Num3+=i: 
  } 
  voiddisplay() 
  { 
  cout<<"Num1="<  cout<<"Num2="<  cout<<"Num3="<  } 
  voidAddNum(inti) 
  { 
  Num3+=i; 
  } 
  private: 
  intNum1; 
  constintNum2; 
  staticintNum3; 
  //********2******** 
  }; 
  //********3******** 
  voidfunc() 
  { 
  TCobj(1,2); 
  obj.Num1=4; 
  //********4******** 
  obj.AddNum(); 
  ohj.display(); 
  } 
  voidmain() 
  { 
  TCmyObj(12,18); 
  myObj.display(); 
  rune(); 
  return; 
  } 

 (1)将“TC(inti,intj)”补充完整为“TC(inti,intj):Num2(j)”。 
  (2)应添加“friendvoidfunc();”。 
  (3)应添加“intTC::Num3=4;”。 
  (4)将“obi.AddNum()”补充完整为“obj.AddNum(2);”。 
  【解析】本题在第1处完成类的构造函数初始化类的成员变量,常数据成员也必须初始化,并且不能被更新,常数据成员的初始化只能通过构造函数的成员初始化类表进行,因此第1处的语句应为“TC(inti,intj):Num2(j)”,i用来初始化Num1和Num3,j初始化Num2。第2处完成fune的函数定义,由审题分析可知,函数fune为类的友元,故第2处的语句应为“friendvoidrune();”。第3处的语句是静态成员的初始化,静态数据成员的初始化格式为“(数据类型)<类名>::<静态数据成员)=<初始值>”,因此第3处的语句应为“intTC::Num3=4;”。成员函数AddNum带有一个整型参数,因此调用此函数时必须有参数传入,可由程序运行结果分析得知传入的参数值的大小。在fun函数内,定义TCobj(1,2)后,obj.Num1=1,obj.Num2=2,Num3=16+1=17,obj.Num1=4,Numl为4,obj。Num2为常数据成员,其值不会改变,调用AddNum函数后调用显示函数显示成员变量值,可知Num3为19,因此AddNum()的参数为19-17=2,即第4处的语句应为“obj.AddNum(2);”。 

首页 1 2 尾页

相关文章