[计算机类试卷]国家二级C++机试(继承和派生)模拟试卷2及答案与解析.doc
《[计算机类试卷]国家二级C++机试(继承和派生)模拟试卷2及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C++机试(继承和派生)模拟试卷2及答案与解析.doc(34页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C+机试(继承和派生)模拟试卷 2及答案与解析 一、选择题 1 有如下程序 #include using namespace std; class Base protected: Base()cout using namespace std; class A public: A(int i)x=i; void dispa()cout using namespace std; class Base int x; public; Baseint 11=O); x(n)cout using namespace std; class AA public: AA0cout using name
2、space std; class C1 public: -ClOcout using namespace std; class Base public: Base(int x=O): valB(x)cout using namespace std; class Basel public: Basel(int d) cout using namespace std; class A public: AOcout using namespace std; class Base public: void fun()coutfun(); 16 下列关于虚基类的描述中,错误的是 ( )。 ( A)使用虚
3、基类可以消除由多继承产生的二义性 ( B)构造派生类对象时,虚基类 的构造函数只被调用一次 ( C)声明 “class B: virtual public A”说明类 B为虚基类 ( D)建立派生类对象时,首先调用虚基类的构造函数 17 有如下程序: #include using namespace std; class Mountain int height; public: Mountain(int h=O): height(h) virtual char*GetName0 constreturn”山 ”; int GetHeight() constreturn height; ) );
4、class Lushan: public Mountain Public: Lushan(int d): Mountain(d) , Char*GetName()constreturn”庐山 ”; ) ); int main() Mountain*p=new Lushan(1 000); coutGetName0GetHeight() using namespace std; class Base public: void funlOcout using namespace std; class A public: virtual void funcl()coutfuncl(); P一 fun
5、c2(); return 0: ) 运行此程序,屏幕上将显示输出 ( )。 ( A) B182 ( B) A1A2 ( C) B1A2 ( D) A182 22 如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。有如下程序,没有使用多态机制。 #include using namespace std; class Base int a, b; public: Base(int X, int Y)a=x; b=y; ) void show()cout using namespace std; class Base public: virtual void
6、 f()coutf(); P一 g(); return O: ) 运行时输出的结果是 ( )。 ( A) f+g+ ( B) fo+g+ ( C) f+g0+ ( D) f0+g0+ 24 有如下程序; #include using namespace std; class Base public: void outputocoutoutput(); ptr一 Print(); delete ptr; return (): ) 程序的输出结果是 ( )。 ( A) lB ( B) lD ( C) 2B ( D) 2D 25 有如下程序: #include using namespace std
7、; class B public: virtual void show()coutshow(); ) void fun2(B ); class Piano: public Instrument public: void Display() *函数体程序略 * ) ; int main() Instrument s; Instrument*P=0: ; retum 0: 下列叙述中正确的是 ( )。 ( A)语句 “Insturment*p=O; ”编译时出错 ( B)语句 “Instrument s; ”编译时出错 ( C)类 Piano中的 Display函数不是虚函数 ( D)类 Inst
8、rument是 一个虚基类 35 有如下程序: #include using namespace std; class Book public: Book(char*t=“)strcpy(title, t); ) private: char title40; ; class Novel: public Book public: Novel(char*t=“): Book(t) char*Category()constreturn“文学 ”; ) ); int main() Book*pb; pb=new Novel(); coutCategory(); return O: 若程序运行时输出结果
9、是 “文学 ”,则划线处缺失的语句是 ( )。 ( A) char*Category(); ( B) char*Category()const; ( C) virtual char*Category()const; ( D) virtual char*Category()const=O; 36 有如下程序: #include using namespace std; class Base public: virtual void function l() coutfunctionl(); p-function2(); return O: ; 运行时的输出结果是 ( )。 ( A) 01 ( B
10、) 21 ( C) 03 ( D) 23 37 有如下程序: #include using namespace std; class Base public: virtual void Show()coutShow(); p2一 Show(); delete Pl; delete p2; return 0: ) 运行这个程序的输出结果是 ( )。 ( A) BB ( B) BD ( C) DB ( D) DD 38 有如下类定义 class Animal public: virtual void Name0=0; ; class Koala: public Animal public: voi
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 机试 继承 派生 模拟 答案 解析 DOC
