欢迎来到天天文库
浏览记录
ID:38580499
大小:72.50 KB
页数:12页
时间:2019-06-15
《C++笔试题目-带答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、姓名:___________时间:___________DCCBBAADAD一、选择题(1*10=10)1.如果派生类以proctected方式继承基类,则原基类的protected和public成员在派生类的访问性分别是:DA.public和publicB.public和protectedC.protected和publicD.protected和protected解析:通过protected方式继承基类后,原基类的私有成员不可访问,而protected和public成员均变成protected成员。答案:D2.有如下头文件:intF1();staticintF2();c
2、lasssCA{public:intF3();staticintF4();};在所描述的函数中,具有隐含this指针的是:CA.F1B.F2C.F3D.F4本题考查的是this指针。this指针式一个隐含的指针,它隐含于每个类的非静态成员函数中,它明确地表示出了成员函数当前操作的数据所属的对象。当对一个对象调用成员函数时,编译程序先将对象的地址赋值给this指针,然后调用成员函数,每次成员函数存取数据成员时,则隐含使用this指针。this指针是指向对象本身的指针,它只存在于类的非静态成员中。f1,f2不是成员函数,不存在隐含指针;f4为静态成员函数,也不含有this指针;
3、含有this指针的函数在调用时按thiscall调用约定调用。故本题答案为C。3.派生类的成员函数不能访问基类的:CA.共有成员和保护成员B.共有成员C.私有成员D.保护成员本题考查的是继承的类型。类的继承方式有公有继承、保护继承和私有继承三种方式。对于公有继承基类中的成员访问属性不变,对于保护和私有继承基类中的成员转换为相应的访问类型。但是如果基类成员的访问属性为private的,则不能被继承。故本题答案为C。4.按照“后进先出”原则组织数据的数据结构是BA.队列B.栈C.双向链表D.二叉树答案为B。5.下列关于虚函数的说明中,正确的是:BA.从虚基类继承的函数都是虚函数
4、B.虚函数不得是静态成员函数C.只能通过指针或者引用调用虚函数D.抽象类中的中的成员函数都是虚函数。答案为B。6.已知Value是个类,value是Value的一个对象。下列以非成员函数形式重载的运算符函数原型中,正确的是:AA.Valueoperator+(Valuev,inti);B.Valueoperator+(Valuev=value,inti);C.Valueoperator+(Valuev,int=0);D.Valueoperator+(Valuev=value,inti=0);7.有如下类的定义:ClassMyClass{intvalue;public:MyC
5、lass(intn):value(n){}intgetValue()const{returnvalue;}};则类Myclass的构造函数的个数是:AA.1个B.2个C.3个D.4个还有默认拷贝构造函数,应该选B8.有如下类的定义:classConstants{public:staticdoubleGetPI(void){return3.14159;}};Constantsconstants;下列各组语句中,能输出3.14159的是:BA.cout<GetPI();和cout<6、.GetPI();和cout<GetPI();和cout<GetPI();D.cout<usingnamespacestd;classVAC{public:intf()const{return3;}intf(){return5;}};intmain(){VACv1;constVACv2;cout<7、rn0;}运行时的输出结果是:AA.53B.35C.55D.3310.有如下类声明:classBase{protected:intamount;public:Base(intn=0):amount(n){}intgetAmount()const{returnamount;}};classDerived:publicBase{protected:intvalue;public:Derived(intm,intn):value(m),Base(n){}intgetData()const{returnvalue+amou
6、.GetPI();和cout<GetPI();和cout<GetPI();D.cout<usingnamespacestd;classVAC{public:intf()const{return3;}intf(){return5;}};intmain(){VACv1;constVACv2;cout<7、rn0;}运行时的输出结果是:AA.53B.35C.55D.3310.有如下类声明:classBase{protected:intamount;public:Base(intn=0):amount(n){}intgetAmount()const{returnamount;}};classDerived:publicBase{protected:intvalue;public:Derived(intm,intn):value(m),Base(n){}intgetData()const{returnvalue+amou
7、rn0;}运行时的输出结果是:AA.53B.35C.55D.3310.有如下类声明:classBase{protected:intamount;public:Base(intn=0):amount(n){}intgetAmount()const{returnamount;}};classDerived:publicBase{protected:intvalue;public:Derived(intm,intn):value(m),Base(n){}intgetData()const{returnvalue+amou
此文档下载收益归作者所有