考试首页 | 考试用书 | 培训课程 | 模拟考场 | 考试论坛  
全国  |             |          |          |          |          |         
  当前位置:计算机等级 > 二级考试 > C++语言程序设计 > C++模拟试题 > 文章内容
  

全国计算机二级考试C++考前押密试卷(1)

中华IT学院   【 】  [ 2017年8月9日 ]

  21.C。【解析】本题考查构造函数的概念。构造函数可以被重载,函数名必须和类名相同;构造函数可以有一个,也可以有多个;构造函数没有返回值。

  22.A。【解析】本题考查的是运算符的有关概念。“*”是二元运算符,既可用于间接访问也可用于两数相乘;而“=”和“*++”都是一元运算符。

  23.D。【解析】选项A,语句P=&rny;是把对象my的地址值赋值给指针变量P;选项B,语句MyClass*P,my;中由于P只是一个指向对象的指针,因此定义指针P不调用构造函数,所以此语句只调用一次构造函数:对成员函数的引用可以通过两种形式:指针一>成员函数(形参表),或者对象名.成语函数名(形参表),故选项C错误,选项D正确。

  24.B。【解析】本题由主函数main入手,定义TestClass型的常对象a,然后调用对象a中的成员函数print()。因为在C++中,如果一个对象被声明为常对象,则不能调用该对象中的非eonst型的成员函数。所以,这里调用的是对象中的const型成员函数“voidprint()const”,输出为print2。

  25.D。【解析】TestClass为TestClass1的基类,在主函数main中定义TestClass对象b,*P。TestClass1对象d,P指向d,调用其show函数。“TestClass(inti):TestClass(i+1),b(i){}”语句中的TestClass基类参数为2,所以show输出2。

  26.C。【解析】本题考查类的继承、类的实例化和构造函数、析构函数的调用方式以及何时调用。每实例化一个类就要调用其构造函数,结束运行该实例后调用析构函数。

  27.A。【解析】C++把重载的运算符视为特殊的函数,称为运算符函数,函数名就是在运算符前面保留字operatot。运算符重载的定义格式:<返回类型>operator<运算符号>(参数说明);运算符"-"是二元运算符,A选项中重载函数的形参列表都是double,而重载函数的返回类型为类Volume,显然是错误的。

  28.B。【解析】C++中派生类构造函数的一般语法规则为<派生类名>::<派生类名>(<参数表>):<基类1>(<参数表1>),…,<基类名n>(<参数表n>),<子对象l>(<子对象参数表1>,…<子对象m>(<子对象参数表m>){<派生类新增成的初始化语句>;}。

  29.C。【解析】上述类的定义共有三处错误:①类的成员变量不能在定义时进行初始化;②类的构造函数不能有返回值(包括void类型);③类的析构函数不能有参数。

  30.B。【解析】本题复制构造函数一共被调用了三次:第一次是在执行语句Datedate3(datel);时,用已经建立的对象datel对正在建立的对象date3进行初始化;第二次是在调用fun函数时,由于是传值调用,因此实参对象date3要对形参对象d进行初始化;第三次是在执行fun函数中的返回语句returntemp;时,系统初始化一个匿名对象时使用了复制构造函数。

  31.C。【解析】本题考查纯虚函数的定义形式。由于纯虚函数在最后要有“=0”,故据此排除A和D。而B中没有出现virtual关键词,故正确答案为C。

  32.D。【解析】本题考查派生类构造函数的使用。派生类C具有多重继承关系,所以在派生类C的构造函数中应该包含基类A和B的成员初始化列表。

  33.C。【解析】false为逻辑常量,选项A为1小于3并且5小于7,这个是真的;选项B是2不大于4也为真;选项D是5大于8或者2小于8,只要有一个为真,D就为真,所以选项D也为真。选项C中“&”为按位的与运算,3和0按位与,然后再与1,结果为假。

  34.B。【解析】全局变量是在所有函数定义、类定义和程序块之外声明的变量,局部变量是在某个函数定义、类定义或程序块之内声明的变量。用关键字Static声明的局部变量称为静态变量,故正确答案为B项。

  35.B。【解析】使用const关键字修饰的对象称为常对象,题中对象b被声明为类R的常对象。使用const关键字说明的成员函数称为常成员函数,类R中用const重载了函数print()。在使用常对象和常成员函数时应注意的是:const是函数类型的一个组成部分,因此在常成员函数部分也要带const关键字;常成员函数不能更新对象的数据成员,也不能调用该类中没有用const修饰的成员函数;如果将一个对象说明为常对象,则通过该常对象只能调用它的常成员函数,不能调用其他的成员函数;const关键字可以参与区分重载函数。

  36.B。【解析】由主函数入手,定义了类TestClass的对象s1(2,3),当类对象进入其作用域时调用构造函数,构造函数应该是调用具有参数的“TestClass(inta,intb){x=a;y=b;}”,然后调用成员函数disp(),则输出为“cout<<"x="<

分享到:
本文纠错】【告诉好友】【打印此文】【返回顶部
将考试网添加到收藏夹 | 每次上网自动访问考试网 | 复制本页地址,传给QQ/MSN上的好友 | 申请链接 | 意见留言 TOP
关于本站  网站声明  广告服务  联系方式  站内导航  考试论坛
Copyright © 2007-2013 中华考试网(Examw.com) All Rights Reserved