2013年9月全国计算机等级《二级C++》考前冲刺试卷三

0
收藏   分享
  • 卷面总分:100分
  • 试卷类型:模拟考试
  • 测试费用:免费
  • 答案解析:是
  • 练习次数:58次
  • 作答时间:120分钟
试卷简介

2013年9月全国计算机等级《二级C++》考前冲刺试卷三:本试卷总分100分;共有4类型题目

  • 选择题
  • 程序改错题
  • 简单应用题
  • 综合应用题
试卷预览
1

使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了用于表示矩形的CRect类,但类CRect的定义并不完整。请按要求完成下列操作,将类CRect的定义补充完整。

(1)定义私有数据成员leftPoint、topPoint、rightPoint、bottomPoint,分别用于表示矩形左上角及右下角的点的坐标,它们都是double型的数据。请在注释1之后添加适当的语句。

(2)完成默认构造函数CRect的定义,指定默认实参为0,它们都是double型的数据。请在注释2之后添加适当的语句。

(3)定义函数体为空的析构函数。请在注释3之后添加适当的语句。

(4)在main函数中定义GReet类的实例rect2,并把re-

ct1的值赋给rect2。请在注释4之后添加适当的语句。

注意:除在指定位置添加语句之外,不要改动程序中的其他内容。

试题程序:

#include

classCRect

{

private:

//********1********

public:

//********2********

//********3********

voidSetPoints(double,double,double,double);

voidSetLeftPoint(doublem){leftPoint=m;}

voidSetRightPoint(doublem){rightPoint=m;}

voidSetTopPoint(doublem){topPoint=m;}

voidSetBottomPoint(doublem){bottomPoint=m;}

voidDisplay();

};

CReet::CRect(double1,doublet,doubler,doubleb)

{

leftPoint=1;topPoint=t;

rightPoint=r;bottomPoint=b;

}

voidCRect::Setpoints(double1,doublet,doubler,doubleb)

{

leftPoint=1;topPoint=t;

rightPoint=n;bottomPoint=b;

}

voidCRect::Display()

{

cout<<"left-toppointis("<

Point<<")"<<'\n';

cout<<"right-bottompointis("<

<}

voidmain()

{

CRectrect0;

rect0.Display();

rect0.SetPoints(20,20.6,30,40);

rect0.Display();

CRectrectl(0,0,150,150);

rect1.SetTopPoint(10.5);

rect1.SetLeftPoint(10.5);

//********4******** rect2.Display( );}

1

若目前D盘根目录下并不存在test.txt文件,则下列打开文件方式不会自动创建test,txt文件的是(  )。

  • A.ifstreamfin;fin.open("d:\\test.txt",iso_base::in);
  • B.fstreamfi0;ri0.open("d:\\test.txt",is0_base::out);
  • C.ofstream。fort;lout.open("d:\\test.txt",ios_base::out);
  • D.ofstreamfout;fout.open("d:\\test.txt",is0_base::app);
5

数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是(  )。

  • A.DB包括DBS和DBMS
  • B.DBMS包括DB和DBS
  • C.DBS包括DB和DBMS
  • D.没有任务关系
5

下列是重载为非成员函数的运算符函数原型,其中错误的是(  )。

  • A.Fractionoperator+(Fraction,Fraction);
  • B.Fractionoperator-(Fraction);
  • C.Fraction&operator=(Fraction&,Fraction);
  • D.Fraction&operator+=(Fraction&,Fraction):
5

下列关于函数模板的描述中,正确的是(  )。

  • A.函数模板是一个实例函数
  • B.使用函数模板定义的函数没有返回类型
  • C.函数模板的类型参数与函数的参数相同
  • D.通过使用不同的类型参数,可以从函数模板得到不同的实例函数
5

若有如下程序:

#include

usingnamespacestd;

classTestClassl

{

private:

inta;

public:

TestClassl(inti)

{

  • a=i:&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;voiddisp(  )&nbsp;&nbsp;&nbsp;&nbsp;{
  • cout<}&nbsp;&nbsp;&nbsp;&nbsp;};
  • classTestClass2&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;private:
  • intb:&nbsp;&nbsp;&nbsp;&nbsp;public:&nbsp;&nbsp;&nbsp;&nbsp;TestClass2(intj)&nbsp;&nbsp;&nbsp;&nbsp;{
  • b=j;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;voiddisp()&nbsp;&nbsp;&nbsp;&nbsp;{
  • cout<}&nbsp;&nbsp;&nbsp;&nbsp;};
  • classTestClass3:publicTestClass2,publicTestClassl&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;private:
  • intc;&nbsp;&nbsp;&nbsp;&nbsp;public:&nbsp;&nbsp;&nbsp;&nbsp;TestClass3(intk):TestClass1(k-2),TestClass2(k+2)&nbsp;&nbsp;&nbsp;&nbsp;{
  • c=k:&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;voiddisp()&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;TestClasssl::disp();&nbsp;&nbsp;&nbsp;&nbsp;TestClasss2::disp();
  • cout<<c<<endl;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;};
11

下列各类函数中,不是类的成员函数的是(  )。

  • A.构造函数
  • B.抽象类
  • C.派生类
  • D.以上都不对
5

下面关于break语句的描述中,不正确的是(  )。

  • A.break可以用于循环体内
  • B.break语句可以在for循环语句中出现多次
  • C.break语句可以在switch语句中出现多次
  • D.break语句可用于if条件判断语句内