设为首页 加入收藏

TOP

2018年12月计算机二级C++提分练习题及答案(3)
2018-11-14 10:10:57 】 浏览:160
Tags:2018年 12月 计算机 二级 习题 答案

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++提分练习.. 下一篇2018年9月计算机二级C++考试真题..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目