首页 > 全部 > 二级C++ > 国家二级C++机试(操作题)模拟试卷508

国家二级C++机试(操作题)模拟试卷508

本单篇文档共6089字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C++ 章节练习 1201人下载
价格: 1.00 原价:¥8.00
收藏

国家二级C++机试(操作题)模拟试卷508

基本操作题

1.请打开考生文件夹下的解决方案文件proj1,其中有线段类Line的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应该是:

End point1=(1,8),End point2=(5,2),length=7.2111。

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

#include<iostream>

#include<cmath>

using namespace std;

class Line;

double length(Line);

class Line(//线段类

doub2e x1,y1;//线段端点1

double x2,y2;//线段端点2

public:

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

Line(double x1,double y1,double x2,double y2)const{

this->x1=x1;

this->y1=y1;

this->x2=x2;

this->y2=y2:

}

double getX1( )const{return x1;}

double getY1( )const{return y1;}

double getX2( )const{return x2;}

double getY2( )const{return y2;}

VOid show( )const{

cout<<\\

(1)Line(double x1,double y1,double x2,double y2){

(2)cout<<\\

解析:(1)主要考查考生对构造函数的掌握,构造函数要给私有成员赋初始值,因此不能使用const来限制。

(2)主要考查考生对this指针的掌握,由函数length的声明double length(Line);可知,length函数的形参是Line类,在void show( )const函数里,this指针指向的是当前Line类,因此可以用*this表示当前Line类。

(3)主要考查考生对成员函数的掌握,length函数是类外函数,不能直接调用类的私有成员,因此要通过成员函数取得对应的值。

简单应用题

2.请打开考生文件夹下的解决方案文件proj2,该工程中包含一个程序文件main.cpp,其中有类AutoMobile(“汽车”)及其派生类Car(“小轿车”)、Truck(“卡车”)的定义,还有主函数main的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:

车牌号:冀ABCl234品牌:ForLand类别:卡车当前档位:0最大载重量:12

车牌号:冀ABC1234品牌:ForLand类别:卡车当前档位:2最大载重量:12

车牌号:沪XYZ5678品牌:QQ类别:小轿车当前档位:0座位数:5

车牌号:沪XYZ5678品牌:QQ类别:小轿车当前档位:-1座位数:5

注意:只能在横线处填写适当的代码,不要改动

程序中的其他内容,也不要删除或移动“//****found****”。

#include<iostream>

#include<iomanip>

#include<cmath>

using namespace std;

class AutoMobile{//“汽车”类char*brand;//汽车品牌

char*number;//车牌号

int speed;//档位:1、2、3、4、5,

空档:0,倒档:-1

public:

AutoMobile(const char*the_brand,const char*the_number):speed(0){

brand=new char[strlen(the_brand)+1];

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

_______;

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

_______;

strcpy(number,thenumber);

}

~AutoMobile( ){delete[ ]brand;delete[ ]number;)

const char*theBrand( )const{return brand;}//返回品牌名称

const char*theNumber( )const{return number;}//返回车牌号

int currentSpeed( )const{return speed;}//返回当前档位

void changeGearTo(int the_speed){//换到指定档位

if(speed>=-1&&speed<=5)

speed=the_speed;

}

virtual const char*category( )const=0;//类别:卡车、小轿车等

virtualVOidshow( )const{

cout<<\\

(1)strcpy(brand,the_brand)

(2)number=new char[strlen(the_number)+1]

(3)theBrand()

(4)const{return\\

解析:(1)主要考查考生对strcpy函数的掌握情况,在上一条语句程序给brand指针分配了空间,在这里要复制字符串the_brand,即strcpy(brand,the_brand);。

(2)主要考查考生对动态分配的掌握情况,参考brand指针的复制过程完成该语句,先给指针number分配空间,通过new来完成:number=new char[strlen(the_number)+1];。

(3)主要考查考生对成员函数的掌握,由程序可知这里要输出的是品牌,因此调用成员函数theBrand( )来输出品牌。

(4)主要考查考生对纯虚函数的掌握,根据纯虚函数的定义:virtual const char*category( )const=0;,可知在这里要填写:const{return\\

综合应用题

3.请打开考生文件夹下的解决方案文件proj3,该文件中定义了用于表示日期的类Date、表示人员的类Person和表示职员的类Staff;程序应当显示:

张小丽123456789012345

但程序中有缺失部分,请按以下提示把缺失部分补充完整:

(1)在“//**1** ****found****”的下方是析构函数定义中的语句,它释放两个指针成员所指向的动态空间。

(2)在“//**2** ****found****”的下方是rename函数中的一个语句,它使指针name指向申请到的足够容纳字符串new_name的空间。

(3)在“//**3** ****found****”的下方是构造函数定义的一个组成部分,其作用是利用参数表中前几个参数对基类Person进行初始化。

注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“****found****”。填

本文档预览:3600字符,共6089字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C++机试(操作题)模拟试卷508

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号