首页 > 全部 > 二级C++ > 国家二级(C++)机试模拟试卷272

国家二级(C++)机试模拟试卷272

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

国家二级(C++)机试模拟试卷272

选择题

1.由于常对象不能被更新,因此( )。(A)

A. 通过常对象只能调用它的常成员函数

B. 通过常对象只能调用静态成员函数

C. 常对象的成员都是常成员

D. 通过常对象可以调用任何不改变对象值的成员函数

解析:本题考查常对象的基本知识,常对象只能调用它的常成员函数,而不能调用非const函数,常对象的成员函数不一定都是常成员函数,只需保证其数据成员是常数据成员即可。所以本题选A。

2.有如下类定义:

class AA

{

int a;

public:

int getRef()const{return &a;}//①

int getValue()const{return a;}//②

void set(int n)const{a=n;}//③

friend void show(AA aa)const{cout<<a;}//④

};

其中四个函数的定义中正确的是( )。(B)

A. ①

B. ②

C. ③

D. ④

解析:本题考查常成员函数,常成员函数只能引用本类中的数据成员,而不能修改它。所以本题答案为B。

3.有如下类定义:

class Point

{

int XX,YY;

public:

Point():xx(0),yy(0){}

Point(int X,int y=0):xx(x),yy(y){}

};

若执行语句

Point a(2),b[3],*c[4];

则Point类的构造函数被调用的次数是( )。(C)

A. 2次

B. 3次

C. 4次

D. 5次

解析:本题考查默认构造函数和带参数的构造函数,题目中定义一个对象a(2)以及对象数组b[3],共执行4次构造函数,对象指针不调用构造函数。所以本题答案为C。

4.关于函数重载,下列叙述中错误的是( )。(C)

A. 重载函数的函数名必须相同

B. 重载函数必须在参数个数或类型上有所不同

C. 重载函数的返回值类型必须相同

D. 重载函数的函数体可以有所不同

解析:所谓函数重载是指同一函数名可以对应多个函数实现。进行函数重载时,要求同名函数在参数个数上不同,或者参数类型上不同。但函数的返回类型不能作为判断重载的依据。

5.有如下程序:

#include

using namespace std;

class Test{

public:

Test() {n+=2;}

~Test() {n-=3;}

static int getNum(){retum n;}

private:

static int n:

};

int Test::n=1;

int main()

{Test*p=new Test;

delete p;

cout<<\\(A)

A. n=0

B. n=1

C. n=2

D. n=3

解析:语句Test*p=new Test;会调用类的构造函数1\\

6.下列运算符函数中肯定不属于类FunNumber的成员函数的是( )。(D)

A. int operator-(FunNumber);

B. FunNumber operator-();

C. FunNumber operator-(int);

D. int operator-(FunNumber,FunNumber);

解析:本题考查运算符重载的一些规则:①一般情况下,单目运算符最好重载为类的成员函数,双目运算符则最好重载为类的友元函数;②双目运算符=、()、[]、->不能重载为类的友元函数;③类型转换函数只能定义为一个类的成员函数,而不能定义为类的友元函数;④若一个运算符的操作需要修改对象的状态,选择重载为成员函数较好;⑤若运算符所需的操作数(尤其是第一个操作数)希望有隐式类型转换,则只能选用友元函数;⑥当运算符函数是一个成员函数时,最左边的操作数(或者只有最左边的操作数)必须是运算符类的一个类对象(或者是对该类对象的引用);如果左边的操作数必须是一个不同类的对象,或者是一个内部类型的对象,该运算符函数必须作为一个友元函数来实现。所以答案为D。

7.若有下面的函数调用:

fun(a+b,3,max(n—1,b))

则fun的实参个数是( )。(A)

A. 3

B. 4

C. 5

D. 6

解析:本题考查函数实参个数的基础知识,根据实参的概念,(a+b)、3、max(n-1,b)分别为其中的3个实参。故答案为A。

8.下面是关于派生类声明的开始部分,其中正确的是( )。(D)

A. class virtual B:public A

B. virtual class B:public A

C. class B:public A virtual

D. class B:virtual public A

解析:声明派生类的一般形式为:class派生类名:[继承方式]基类名。其中继承方式包括:public,private,protected,而virtual为C++中的关键字。虚函数的使用方法是在基类用virtual声明成员函数为虚函数。

9.有如下程序:

#include

using namespaee std;

class Pair{

int m,n;

public:

Pair(int j,int k):m(j),n(k){}

int get(){return m;}

int get()const{return m+n;}

};

int main(){

Pair a(3,5);

const Pair b(3,5);

cout<<a.get()<<b.get();

return 0;

}

执行这个程序的输出结果是( )。(B)

A. 33

B. 38

C. 83

D. 88

解析:本题考查常对象、常成员函数及构造函数。常对象只能调用常成员函数,所以本题中,对象a为普通对象,执行a.get()后,会执行默认构造函数,输出3;对象b为常对象,执行b.get()后,会执行常构造函数,输出8。

10.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是(  )。(B)

A. 提高耦合性降低内聚性有利于提高模块的独立性

B. 降低耦合性提

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号