上海花千坊

报名

计算机二级《C++》上级考试试题及答案

时间:2024-08-30 13:42:41 报名 我要投稿
  • 相关推荐

计算机二级《C++》上级考试试题及答案2017

  一、基本操作题

计算机二级《C++》上级考试试题及答案2017

  1请使用VC6或使用【答题】菜单打开考生文件夹projl下的工程projl。程序中位于每个“//ERROR****found料****之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:

  Name:Smith Age:21 ID:99999 CourseNum:12

  Record:970

  注意:只修改每个“//ERROR****found****”下的那一行,不要改动程序中的其他内容。

  #include

  using namespace std;

  class Studentlnfo

  {

  protected:

  //ERROR********************found****************

  char Name;

  int Age;

  int ID:

  int CourseNum;

  float Record;

  public:

  Studentlnfo(char*name,int Age,int ID,int coumeNum,float record);

  //ERROR ********************found********************

  void~Studentlnfo(){}

  float AverageRecord(){

  return Record/CourseNum;

  }

  void show()const{

  cout<<”Name:”<

  <<”CourseNum:”<

  }

  };

  //ERROR ******************found**************

  StudentInfo StudentInfo(char*Name,int Age,int ID,int CourseNum,float Record)

  {

  Name=name;

  Age=age;

  this一>ID=ID:

  CourseNum=courseNum:

  Record=record;

  }

  int main()

  {

  Studentlnfo st(’’Smith”,21,99999,12,970);

  st.show();

  return 0;

  }

  参考解析:

  (1)char*Name;

  (2)~Studentlnfo(){}

  (3)Studentlnf0::Studentlnfo(char*name,int age,,int ID,int eourseNum,float record)

  二、简单应用题

  2请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中定义了vehiele类,并派生出motorcar类和bicycle类。然后以motorcar和bicycle作为基类,再派生出motorcycle类。要求将Vehicle作为虚基类,避免二义性问题。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:

  80

  150

  100

  1

  注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。

  #include

  class vehicle

  {

  private:

  int MaxSpeed;

  int Weight;

  public:

  //*************found************

  vehicle(int maxspeed,int weight):——

  ~vehicle(){};

  int getMaxSpeed(){return MaxSpeed;}

  int getWeight(){retum Weight;}

  };

  //****************found************

  class bicycle:——public vehicle

  {

  private:

  int Height;

  public:

  bicycle(int maxspeed,int weight,int height):vehicle(maxspeed,weight),Height(height){}

  int getHeight(){retum Height;};

  };

  //*******************found**************

  class motorcar:——public vehicle

  {

  private:

  int SeatNum;

  public:

  motorcar(int maxspeed。int weight,int seatnum):vehicle(maxspeed,weight),SeatNum(seatnum){}

  int getSeatNum(){return SeatNum;};

  };

  //*****************found***************

  class motorcycle:——

  {

  public:

  motorcycle(int maxspeed,int weight,int height):vehicle(maxspeed,weight),bicycle(maxspeed,weight,

  height),motorcar(maxspeed,weight,1){}

  };

  void main()

  {

  motorcycle a(80,150,100);

  cout<

  cout<

  cout<

  cout<

  }

  参考解析:

  (1)MaxSpeed(maxspeed),Weight(weight){f;

  (2)virtual

  (3)virtua1

  (4)public bicycle,public motorcar


更多计算机二级C++相关试题分享:

1.2017年3月计算机二级C++考前练习题及答案

2.2017计算机二级C++模拟题及答案

4.2017年3月计算机二级C++练习题及答案

5.2017计算机二级C++基础习题及答案

6.2017计算机二级C++考点习题及答案

7.2017年12月计算机二级C++考前练习题及答案

8.2017计算机二级C++强化习题及答案

9.2017计算机二级C++强化习题及答案

10.计算机二级考试C++练习及答案

  三、综合应用题

  3请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程文件proj3。本题创建一个小型字符串类,字符串长度不超过l00。程序文件包括pmj3.h、proj3.cpp、writeToFile.obj。补充完成重载赋值运算符函数,完成深复制功能。

  屏幕上输出的正确结果应该是:

  Hello!

  Happy new year!

  补充编制的内容写在“//**********333**********&rdquo;与“//**********666**********”两行之间。

  不得修改程序的其他部分。

  注意:

  程序最后调用writeToFil。函数,使用另一组不同的测试数据,将不同的运行结果输出到文件0ut•dat中。

  输出函数writeToFile已经编译为obj文件。

  //proj3.h

  #include

  #include

  using namespace std;

  class MiniString

  {

  pubhc:

  friend。8tream&operator<<(oatream&output,const MiniString&s)//重载流插入运算符

  { output<

  friend istream&operator>>(istream&input,MiniString&8)//重载流提取运算符

  { char temp[100];//用于输入的临时数组

  temp[0]=’\0’://初始为空字符串

  input>>setw(100)>>temp;

  int inLen=strlen(temp);//输入字符串长度

  if(inLen!=0)

  }

  s.1ength=inLen;//赋长度

  if(s.sPtr!=0)delete[]s.sPtr;//避免内存泄漏

  s.sPtr=Hew char[s.1ength+1];

  strcpy(s.sPtr,temp);//如果8不是空指针,则复制内容

  }

  else s.sPtr[0]=’\0&rsquo;;//如果s是空指针,则为空字符串

  retum input;

  }

  void modString(const char}string2)//更改字符串内容

  {

  if(strin92 1=0)//如果strin92不是空指针,则复制内容

  {

  if(strlen(strin92)!=length)

  {

  length=strlen(strin92);

  delete[]sPtr;

  sPtr=new char[1ength+1];//分配内存

  }

  strcpy(sPtr,strin92);

  }

  else sPtr[0]=’\0’;//如果string2是空指针,则为空字符串

  }

  MiniString&operator=f const MiniString&otherString);

  MiniString(corot char*s=";"):lengtll((s!=0)?strlen(s):0)//构造函数

  {

  sPtT=0:

  if(1ength[=0)

  setString(S);

  }

  ~MiniString()//析构函数

  {delete[]sPtr;}

  private:

  int length;//字符串长度

  char*sPtr;//指向字符串起始位置

  void setString(const char*string2)//辅助函数

  {

  sPtr=Dew char[str|en(string2)+1];//分配内存

  if(stnIl92!=0)strcpy(sPtr,string2);//如果string2不是空指针,则复制内容

  else slur[0]='\0';//如果string2是空指针,则为空字符串

  }

  };

  //pwj3.cpp

  #'include

  #include

  using namespace std;

  #include”proj3.h”

   MiniString&MiniStrin9::0perator=(const MiniString&otherString)

  {//重载赋值运算符函数。提示:可以调用辅助函数setString

  //*************333**********

  //*************666**********

  }

  int main()

  {

  MiniSu'ing strl(”Heuo!”),str2;

  void writeToFile(const char*);

  sir2=strl;//使用重载的`赋值运算符

  str2.modString("Happy new year!");

  cout<

  cout<

  writeToFile("");

  return 0;

  }

  参考解析:

  length=otherString.1ength; //把对象字符串0therString的长度赋值给变量length setString(otherString.sPtr); //调用函数setstring,实现给类变量sptr分配空间,以及逐个把对象0therstring字符串的值复制到sptr中 return}this: //返回被赋值的对象


更多计算机二级C++相关试题分享:

1.2017年3月计算机二级C++考前练习题及答案

2.2017计算机二级C++模拟题及答案

4.2017年3月计算机二级C++练习题及答案

5.2017计算机二级C++基础习题及答案

6.2017计算机二级C++考点习题及答案

7.2017年12月计算机二级C++考前练习题及答案

8.2017计算机二级C++强化习题及答案

9.2017计算机二级C++强化习题及答案

10.计算机二级考试C++练习及答案

【计算机二级《C++》上级考试试题及答案】上海花千坊相关的文章:

全国计算机二级考试C++巩固试题与答案10-03

计算机二级C++模拟试题及答案09-22

全国计算机二级《C++》上机试题及答案08-15

2017年计算机二级考试C++考前测试题及答案10-19

2016年9月计算机二级《C++》机考试题及答案08-11

计算机二级考试《Java》试题及答案09-04

计算机二级考试MySQL试题及答案10-23

计算机二级考试word试题及答案09-10

计算机二级考试WEB试题及答案10-22

计算机二级考试Java试题及答案10-24