试题来源:2014年计算机二级C++上机考试试题及答案
【分析解答题】
	使用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处的语句应为“friendvoid... 查看试题解析出处>>
发布评论 查看全部评论