[计算机类试卷]国家二级C++机试(继承和派生)模拟试卷20及答案与解析.doc
《[计算机类试卷]国家二级C++机试(继承和派生)模拟试卷20及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C++机试(继承和派生)模拟试卷20及答案与解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C+机试(继承和派生)模拟试卷 20及答案与解析 一、选择题 1 已知基类 Employee只有一个构造函数,其定义如下: Employee: Employee(int n): id(n) Manager是 Employee的派生类,则下列对 Manager的构造函数的定义中,正确的是 ( )。 ( A) Manager: Manager(int n): id(n) ( B) Manager: Manager(int n)id=n; ( C) Manager: Manager(int n): Employee(n) ( D) Manager: Manager(int n)Employ
2、ee(n); 2 有如下程序: #include iostream using namespace sta; class A public: A()cout A; A()cout C; ; class B: public A public: B()cout G; B()cout T; ; int main() B obj; return 0; 运行这个程序的输出结果是 ( )。 ( A) GATC ( B) AGTC ( C) GACT ( D) AGCT 3 有如下程序: #include iostream using namespace std; class Base public: vo
3、id fun0tout B; ; class Derived: public Base public: void fun()_cout D; ; int main() Derived d; d fun(); return 0; 若程序的输出结果是 BD,则划线处缺失的部分是 ( )。 ( A) fun(); ( B) Base fun(); ( C) Base: fun(); ( D) Base- fun(); 4 下列关于虚基类的描述中,错误的是 ( )。 ( A)使用虚基类可以消除由多继承产生的二义性 ( B)构造派生类对象时,虚基类的构造函数只被调用一次 ( C)声明 “class B:
4、 virtual public A”说明类 B为虚基类 ( D)建立派生类对象时,首先调用虚基类的构造函数 5 有如下程序: #include iostream using namespace std; class Mountain int height; public: Mountain(int h=-): height(h) virtual ehar*GetName() constreturn山 ; int GetHeight() constreturn height; ; class Lushan: public Mountain Public: Lushan(int d): Mount
5、ain(d) Char*GetName() constreturn庐山 ; ; int main() Mountain*p=new Lushan(1000); cout p- GetName() 海拔 p- GetHeight() 米 ; return 0; 运行这个程序的输出结果是 ( )。 ( A)庐山海拔 1000米 ( B)庐山海拔 0米 ( C)山海拔 1000米 ( D)山海拔 0米 6 在 C+中,用于实现运行时多态性的是 ( )。 ( A)内联函数 ( B)重载函数 ( C)模板函数 ( D)虚函数 7 下列关于虚函数的说明中,正确的是 ( )。 ( A)从虚基类继承的函数都是
6、虚函数 ( B)虚函数不得是静态成员函数 ( C)只能通过指针或引用调用虚函数 ( D)抽象类中的成员函数都是虚函数 8 有如下程序: #include iostream using namespace std; class Base public: void fun1()cout Base n; virtual void fun2()cout Base n; ; class Derived: public Base public: void fun1()cout Derived n; void fun2()cout Derived n; ; void f(Base int main Deri
7、ved d; Base*p= 下列关于 Shape类的描述中,正确的是 ( )。 ( A)类 Shape是虚基类 ( B)类 Shape是抽象类 ( C)类 ShaDe中的 Draw函数声明有误 ( D)语句 Shape s; 能够建立 Shape的一个对象 s 21 有如下程序: using namespace std; class B public: B(int xx): x(xx)+count; x+=10; virtual void show()const cout count _ x endl; protected: static hat count; private: mt x:
8、; class D: public B public: D(int xx, int yy): B(xx), y(yy)+count; y+=100; virtual void Show()const cout count _ y end1; private: int y; ; int B: count=0; int main() B*ptr=new D(10, 20); ptr- show(); delete ptr; return 0; 运行时的输出结果是 ( )。 ( A) 1_120 ( B) 2_120 ( C) 1_20 ( D) 2_20 22 有如下程序: #include io
9、stream using namespace std; class Instrument public: virtual void Display(): 0; ; class Piano: public Instrument Public: void Display() *函数体程序略 * ) ; int main() Instrument s; Instrument *p=0; ; return 0; 下列叙述中正确的是 ( )。 ( A)语句 Insturment *p=0; “编译时出错 ( B)语句 Instrument s; 编译时出错 ( C)类 Piano中的 Display函数
10、不是虚函数 ( D)类 Instrument是一个虚基类 23 有如下程序: #include iostream 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(); cout pb- Category
11、(); return 0: 若程序运行时输出结果是 “文学 ”,则划线处缺失的语句是 ( )。 ( A) char*Category(); ( B) char*Category()const; ( C) virtual char*Category()const; ( D) virtual char*Category()const=0; 24 有如下程序: #include iostream using namespace std; class Base public: virtual void function1() tout 0; void function2()cout 1; ; clas
12、s Derived: public Base public: void function1()tout 2; void function2()cout 3; ; int main() Base*p=new Derived(); p- function1(); p- function2(); return 0; ; 运行时的输出结果是 ( )。 ( A) 01 ( B) 21 ( C) 03 ( D) 23 25 有如下程序: #include iostream using namespace std; class Base public: virtual void Show()cout B;
13、; class Derived: public Base public: void Show()cout D; ; int main() Base*p1=new Derived; Derived*p2=new Derived; p1- Show(); p2- Show(); delete p1; delete p2; return 0; 运行这个程序的输出结果是 ( )。 ( A) BB ( B) BD ( C) DB ( D) DD 26 有如下类定义 class Animal public; virtual void Name()=0; ; class Koala: public Anim
14、al public: void Name() *函数体略 * ) ; 关于上述 类定义,下列描述中错误的是 ( )。 ( A)类 Koala是类 Animal的派生类 ( B)类 Koala中的 Name函数是一个虚函数 ( C)类 Animal中的 Name函数是一个纯虚函数 ( D)语句 “Animal a;”能够建立类 Animal的一个对象 a 27 有如下程序: #include iostream using namespace std; class B public: virtual void f()cout B; void g()cout B; ; class D: public
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 机试 继承 派生 模拟 20 答案 解析 DOC
