- 相干保举
计较机二级《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++相干试题分享:
三、综合利用题
3请利用VC6或利用【答题】菜单翻开考生文件夹proj3下的工程文件proj3。本题建立一个小型字符串类,字符串长度不跨越l00。法式文件包含pmj3.h、proj3.cpp、writeToFile.obj。补充完成重载赋值运算符函数,完成深复制功效。
屏幕上输出的准确成果应当是:
Hello!
Happy new year!
补充体例的内容写在“//**********333**********”与“//**********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’;//若是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++相干试题分享:
【计较机二级《C++》下级测验试题及谜底】相干文章:
天下计较机二级测验C++稳固试题与谜底10-03
计较机二级C++摹拟试题及谜底09-22
天下计较机二级《C++》上机试题及谜底08-15
计较机二级测验《Java》试题及谜底09-04
计较机二级测验MySQL试题及谜底10-23
计较机二级测验word试题及谜底09-10
计较机二级测验WEB试题及谜底10-22
计较机二级测验Java试题及谜底10-24