您现在的位置:233网校>计算机二级>C++>模拟试题

2018年12月计算机二级C++提分练习题及答案(4)

来源:233网校 2018年12月1日

选择题

1.可以用P.a的形式访问派生类对象P的基类成员a,其中a是(  )。

A.私有继承的公有成员

B.公有继承的私有成员

C.公有继承的保护成员

D.公有继承的公有成员

2.下面程序的运行结果为(  )。

#include

classA

{

intnum;

public:

A(inti){num=i;)

A(A&a){num=a.num++;}

voidprint(){cout<  };

voidmain()

{

Aa(1),b(a);

a.print();

b.print();

}

A.11B.12

C.21D.22

3.设有定义charstr[80];以下不能将输入数据first\nsecond\n读取到数组str中的语句是(  )。

A.cin.get(str,strlen(str));

B.cin.getline(str,strlen(str));

C.cin>>str;

D.cin.read(str,strlen(str));

4.下列程序的输出结果为(  )。

#include

classTestClass

{

public:

TestClass(){val++;}

static,intval;

};

intTestClass::val=0;

voidmain()

{

TestClasscsl;

cout<  TestClasscs2;

TestClasscs3,cs4;

cout<  }

A.O3

B.13

C.14

D.24

5.有以下类定义:

classMyClass

{

private:

intid;

chargender;

char*phone;

public:

MyClass():id(0),gender(’#’),phone(NULl){}

MyClass(intn0,charge=’#’,char*ph=NULL)

{id=no;gender=ge;phone=ph;}

};

下列类对象定义语句中错误的是(  )。

A.MyClassmyObj;

B.MyClassmyObj(11,"13301111155");

C.MyClassmyObj(12,’m’);

D.MyClassmyObj(12);

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

A.classvirtualB:publicA

B.virtualclassB:publicA

C.classB:publicAvirtual

D.classB:virtualpublicA

7.如果类A被说明成类B的友元,则(  )。

A.类A的成员即类B的成员

B.类B的成员即类A的成员

C.类A的成员函数不得访问类B的成员

D.类B不一定是类A的友元

8.下列关于虚基类的描述,错误的是(  )。

A.设置虚基类的目的是为了消除二义性

B.虚基类的构造函数在非虚基类之后调用

C.若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用

D.若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数

9.下列关于多态性的描述,错误的是(  )。

A.C++语言中的多态性分为编译时的多态性和运行时的多态性

B.编译时的多态性可通过函数重载实现

C.运行时的多态性可通过模板和虚函数实现

D.实现运行时多态性的机制称为报考绑定

10.若有如下程序:

#include

usingnamespacestd;

classTestClassl

{

private:

inta;

public:

TestClassl(inti)

{

a=i:

}

voiddisp(  )

{

cout<  }

};

classTestClass2

{

private:

intb:

public:

TestClass2(intj)

{

b=j;

}

voiddisp()

{

cout<  }

};

classTestClass3:publicTestClass2,publicTestClassl

{

private:

intc;

public:

TestClass3(intk):TestClass1(k-2),TestClass2(k+2)

{

c=k:

}

voiddisp()

{

TestClasssl::disp();

TestClasss2::disp();

cout<  }

};

intmain()

{

TestClass30bj(10);

obj.disp();

return0;

}

程序执行后的输出结果是(  )。

A.10,10,10

B.10,12,14

C.8,10,12

D.8,12,10

热点关注2018年12月计算机二级C++提分练习题及答案汇总

领先备考:计算机讲师辅导,30小时高效提分,150元快速取证,马上试听>>

责编:cll