[计算机类试卷]国家二级(C++)笔试模拟试卷133及答案与解析.doc

上传人:postpastor181 文档编号:502588 上传时间:2018-11-29 格式:DOC 页数:24 大小:68.50KB
下载 相关 举报
[计算机类试卷]国家二级(C++)笔试模拟试卷133及答案与解析.doc_第1页
第1页 / 共24页
[计算机类试卷]国家二级(C++)笔试模拟试卷133及答案与解析.doc_第2页
第2页 / 共24页
[计算机类试卷]国家二级(C++)笔试模拟试卷133及答案与解析.doc_第3页
第3页 / 共24页
[计算机类试卷]国家二级(C++)笔试模拟试卷133及答案与解析.doc_第4页
第4页 / 共24页
[计算机类试卷]国家二级(C++)笔试模拟试卷133及答案与解析.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、国家二级( C+)笔试模拟试卷 133及答案与解析 1 数据的存储结构是指 ( A)存储在外存中的数据 ( B)数据所占的存储空间量 ( C)数据在计算机中的顺序存储方式 ( D)数据的逻辑结构在计算机中的表示 2 下列关于栈的描述中错误的是 ( A)栈是先进后出的线性表 ( B)栈只能顺序存储 ( C)栈具有记忆作用 ( D)对栈的插入与删除操作中,不需要改变栈底指针 3 在一棵二叉树上第 5层的结点数最多是 ( A) 8 ( B) 16 ( C) 32 ( D) 15 4 程序设计方法要求在程序设计 过程中 ( A)先编制出程序,经调试使程序运行结果正确后再画出程序的流程图 ( B)先编制

2、出程序,经调试使程序运行结果正确后再在程序中的适当位置处加注释 ( C)先画出流程图,再根据流程图编制出程序,最后经调试使程序运行结果正确后再在程序中的适当位置处加注释 ( D)以上三种说法都不对 5 下列叙述中正确的是 ( A)在面向对象的程序设计中,各个对象之间具有密切的联系 ( B)在面向对象的程序设计中,各个对象都是公用的 ( C)在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小 ( D)上述三种 说法都不对 6 在结构化设计方法中生成的结构图 (SC) 中,带有箭头的连线表示 ( A)模块之间的调用关系 ( B)程序的组成成份 ( C)控制程序的执行顺序 ( D)数据的流向

3、 7 下列叙述中正确的是 ( A)接口复杂的模块,其耦合程度一定低 ( B)耦合程度弱的模块,其内聚程度一定低 ( C)耦合程度弱的模块,其内聚程度一定高 ( D)上述三种说法都不对 8 在关系模型中, ( A)为了建立一个关系,首先要构造数据的逻辑关系 ( B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项 ( C)一个关系的属性名表称为关系模式 ( D)一个关系可以包括多个二维表 9 在面向对象的程序设计中,下列叙述中错误的是 ( A)任何一个对象构成一个独立的模块 ( B)一个对象不是独立存在的实体,各个对象之间有关联,相互依赖 ( C)下一层次的对象可以继承上一层次对象的某些

4、属性 ( D)上述三种说法都正确 10 数据库系统的核心是 ( A)数据模型 ( B)数据库管理系统 ( C)数据库 ( D)数据库管理员 11 要定义数组 A,使得其中每个元素的数据依次为: 3、 9、 4、 8、 0、 0、 0,错误的定义语句是 ( A) intA=3,9,4,8,0,0,0; ( B) intA9=3,9,4,8,0,0,0; ( C) intA=3,9,4,8; ( D) intA7=3,9,4,8; 12 判断字符型变量 ch是否为大写英文字母,应使用表达式 ( A) ch =A void try(int,int,int,int); int main () int

5、x,y,z,r; x =1 ; y = 2; try(x,y,z,r); cout r endl; return 0; void try(int x,int y,int z,int r) z = x+y; x = x*x; y = y*y; r = z+x+y; ( A) 18 ( B) 9 ( C) 10 ( D)不确定 21 若有一个 MyClass类,则执行语句 MyClass a,b(2),*p;后,自动调用该类的构造函数 ( )次。 ( A) 2 ( B) 3 ( C) 4 ( D) 5 22 下面类的定义,有 ( )处错误。 class MyClass public: void M

6、yClass(); MyClass(int Value); private: int i=0; ; ( A) 1 ( B) 2 ( C) 3 ( D) 4 23 有如下类声明: class MyBASE int k; public: void set(int n)k=n; int get()constreturn k; ; class MyDERIVED:protected MyBASE protected: int j; public: void set(int m, int n) MyBASE:set(m);j=n; int get()constreturn MyBASE:get()+j;

7、 ; 则类 MyDERIVED中保护的数据成员和成员函数的个数是 ( A) 4 ( B) 3 ( C) 2 ( D) 1 24 有以下程序: class Date public: Date(int y,int m,int d); year = y; month = m; day = d; Date(int y = 2000) year = y; month = 10; day = 1; Date(Date month = d.month; day = d.day; void print() cout year “.“ month “.“ day endl; private: int year,

8、month,day; ; Date fun(Date d) Date temp; temp = d; resurn temp; int main () Date date1 (2000,1,1),date2 (0,0,0); Date date3 (date1); date2 = fun(date3); return 0; 程序执行时, Date类的拷贝构造函数被调用的次数是 ( A) 2 ( B) 3 ( C) 4 ( D) 5 25 已知 outfile是一个输出流对象,要想像 outfile的文件指针定位到当前位置之前321字节处,正确的函数调用语句是 ( A) outfile.seek

9、p(321,ios_base:cur); ( B) outfile.seekp(321,ios_base:beg); ( C) outfile.seekp(-321,ios_base:beg); ( D) outfile.seekp(-321,ios_base:cur); 26 假定 MyClass为一个类,则该类的拷贝构造函数的声明语句为 ( A) MyClass ( B) MyClass(MyClass x); ( C) MyClass(MyClass ( D) MyClass(MyClass *x); 27 下列关于构造函数的描述中,错误的是 ( A)构造函数可以设置默 认参数 ( B)

10、构造函数在定义类对象时自动执行 ( C)构造函数可以是内联函数 ( D)构造函数不可以重载 28 有以下程序: #include iostream using namespace std; class sample private: int n; public: sample() sample(int m) n=m; void addvalue(int m) sample s; s.n=n+m; *this=s; void disp () cout “n=“ n endl; ; int main() sample s (10); s.addvalue(5); s.disp(); return

11、0; 程序运行后的输出结果是 ( A) n=10 ( B) n=5 ( C) n=15 ( D) n=20 29 在下面的运算符重载函数的原型中,错误的是 ( A) Volume operator-(double,double); ( B) double Volume:operator-(double); ( C) Volume Volume:operator-(Volume); ( D) Volume operator-(Volume,Volume); 30 下列是模板声明的开始部分,其中正确的是 ( A) template T ( B) template classT1,T2 ( C) t

12、emplate classT1,classT2 ( D) template classT1;classT2 31 若有以下程序: #include iostream using namespace std; class Base public: Base () x=0; int x; ; class Derived1 : virtual public Base public: Derived1 () x=10; ; class Derived2 : virtual public Base public: Derived2 () x=20; ; class Derived : public De

13、rived1,protected Derived2 ; int main() Derived obi; cout obj.xendl; return 0; 该程序运行后的输出结果是 ( A) 20 ( B) 30 ( C) 10 ( D) 0 32 在重载一个运算符为成员函数时,其参数表中没有任何参数,这说明该运算符是 ( A)后缀一元运算符 ( B)前缀一元运算符 ( C)无操作数的运算符 ( D)二元运算符 33 以下程序段共有错误 ( )处。 #include iostream using namespaces std; class Sample private: int n; publ

14、ic: Sample (int i) n=i; void setvalue(int i) n=i; void display() cout “n=“ nendl ; ; int main() const Sample a(10); a.setvalue (5); a.display(); return 0; ( A) 1 ( B) 2 ( C) 3 ( D) 4 34 若有以下程序: #include iostream using namespace std; class A private: int a; public: A(int i) a=i; void disp () cout a “

15、,“; ; class B private: int b; public: B(int j) b=j; void disp () cout b “,“; ; class C : public B,public A private: int c; public: C(int k):A(k-2),B(k+2) c=k; void disp () A:disp(); B:disp(); cout c endl; ; int main() C obj(10); obj.disp(); return 0; ( A) 10,10,10 ( B) 10,12,14 ( C) 8,10,12 ( D) 8,1

16、2,10 35 有以下程序; #include iostream using namespace std; class R public: R(int r1,int r2) R1=r1; R2=r2; void print(); void print () const; private: int R1, R2; ; void R:print () cout R1 “,“ R2endl; void R:print() const cout R1 “, “ R2 endl; int main () R a(5,4); const R b(20,52); b.print(); return 0; 执

17、行后的输出结果是 ( A) 5,4 ( B) 20,52 ( C) 0,0 ( D) 4,5 36 数据的独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,这称为 _。 37 在关系模型中,二维表的行称为 _。 38 数据库系统其内部分为三级模式,即概念模式、内模式和外模式。其中,_是用户的数据视图,也就是用户所见到的数据模式。 39 排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、_和选择排序。 40 栈的三种基本运算是入栈、退栈 和 _。 41 类中数据成员和成员函数的默认访问级别为 _。 42 若已定义,以

18、下 fun函数的功能是在循环中给数组 a前 4个数组元素依次赋 1、2、 3、 4;在第二个循环中使 a数组前 4个元素中的值对称折叠,变成 1、 2、 2、1。请填空。 fun(int a) int i; for(i=1;i 4;i+)_=i; for(i=0;i 2;i+)_=ai; 43 若有函数 fun(x, y),并且已经使函数指针变量 p指向函数 fun,则使用 p调用函数 fun的方法是 ( )。 44 已知下列程序的输出结果是 42,请将横线处缺失的部分补充完整。 #include iostream using namespace std; class TestClass in

19、t value; public: TestClass():value(0); void setValue(int value) _=value;/给 TestClass的数据成员 value赋值 void print()cout value; ; int main() TestClass f; f.setValue(42); f.print(); return 0; 45 一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本,此虚函数又称为 ( )。 46 多态性分为两类:编译时的多态性和 _。 47 已知下列程序的输出结果是 23,请将横线处缺失的部分补充完整

20、。 #include iostream using namespace std; class MyClass public: void Print()constcout 23; ; int main() MyClass*p=new MyClass(); _.Print(); return 0; 48 若,将一个二元运算符重载为类的成员函数,其形参个数应该是 _个。 49 下面是一个栈类的模板,其中 push函数将元素 i压入栈顶, pop函数弹出栈顶元素。栈初始为空, top值为 0,栈顶元素在 stacktop-1)中,在下面横线处填上适当语句,完成栈类模板的定义。 template cla

21、ss T class Tstack enumsize=1000; T stacksize; int top; public: Tstack():top(0) void push(const T T pop() if(top= =0)exit(1); /栈空时终止运行 return_; ; 50 有如下程序: #include iostream using namespace std; class CA public: CA()cout+A; ; class CB: private CA public: CB()cout B; ; int main() CA a; CB b; return 0;

22、 这个程序的输出结果是 _。 国家二级( C+)笔试模拟试卷 133答案与解析 1 【正确答案】 D 【试题解析】 数据的逻辑结构在计算机存储空间中的存放形式称为 数据的存储结构,也称数据的物理结构。所以选项 D正确。 2 【正确答案】 B 【试题解析】 本题考核栈的基本概念,我们可以通过排除法来确定本题的答案。栈是限定在一端进行插入与删除的线性表,栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素,即栈是按照 “先进后出 “或 “后进先出 “的原则组织数据的,这便是栈的记忆作用,所以选项 A和选项 C正确。对栈进行插入和删除操

23、作时,栈顶位置是动态变化的,栈底指针不变,选项 D正确由此可见,选项 B错误。 3 【正确答案】 B 【试题解析】 根据二叉树的性质,在二叉树的第 K层上,最多有 2的 k 1次方个结点。所以,第五层的结点数最多为 16。 4 【正确答案】 D 【试题解析】 程序设计的过程应是先画出流程图,然后根据流程图编制出程序,所以选项 A错误。程序中的注释是为了提高程序的可读性,使程序易于理解、易于维护,注释必须在编制程序的同时加入,所以,选项 B和 C错误。本题的正确答案为 D。 5 【正确答案】 C 【试题解析】 在面向对象的程序设计中,对象是面向对象的软件的基本模块,它是由数据 及可以对这些数据施

24、加的操作所组成的统一体,而且对象是以数据为中心的,操作围绕对其数据所需做的处理来设置,没有无关的操作。从模块的独立性考虑,对象内部各种元素彼此结合得很紧密,内聚性强。由于完成对象功能所需要的元素 (数据和方法 )基本上都被封装在对象内部,它与外界的联系自然就比较少,所以,对象之间的耦合通常比较松。所以,选项 A与 B错误,选项 C正确。 6 【正确答案】 A 【试题解析】 在结构图中,用带有箭头的连线表示模块之间的调用关系。箭头由前一个模块指向后一个模块,表示前一个模块调用后一个模块。本题 的正确答案为 A。 7 【正确答案】 C 【试题解析】 影响模块之间耦合的主要因素有两个:模块之间的连接

25、形式,模块接口的复杂性。一般来说,接口复杂的模块,其耦合程度要比接口简单的的模块强,所以选项 A的说法错误;耦合程度弱的模块,其内聚程度一定高,选项 B错误;选项 C正确。 8 【正确答案】 C 【试题解析】 在关系模型中,不需要事先构造数据的逻辑关系,只要将数据按照一定的关系存入计算机,也就是建立关系,选项 A错误。对于表示关系的二维表,其最基本的要求是,表中元组的每一个分量必须是不可分的数据 项,即不允许表中再有表,选项 B和 D错误。本题的正确答案是 C。 9 【正确答案】 B 【试题解析】 在面向对象的程序设计中,一个对象是一个可以独立存在的实体。各个对象之间相对独立,相互依赖性小。所

26、以,选项 B错误,应为所选。 10 【正确答案】 B 【试题解析】 数据库管理系统 (DBMS)是整个数据库系统的核心,它对数据库中的数据进行管理,还在用户的个别应用与整体数据库之间起接口作用。选项 B正确。 11 【正确答案】 C 【试题解析】 本题考核一维数组在定义时的初始化。当数组声明时 没有给出数组的大小,但是有初始化列表时,数组的大小就由列表中元素的个数来确定,由此可知 C) 选项中数组 A只有 4个元素,与题目要求不符。 12 【正确答案】 D 【试题解析】 本题考核 C+表达式类型及求值规则。 ch为大写字母的条件是大于等于 A且小于等于 Z。 13 【正确答案】 D 【试题解析

27、】 本题考核虚函数的概念。在 c+语言中,多态性可分为两类:编译时的多态性和运行时的多态性。编译时的多态性是通过函数重载和模板体现。其实现机制称为静态联编 (也译为静态绑定 ),即在编译阶段决定执 行哪个同名的被调用函数;运行时的多态性是通过体现的,其实现机制称为动态联编 (也译为动态绑定 ),即在编译阶段不能决定执行哪个同名的被调用函数,只在执行阶段才能依据要处理的对象类型来决定执行哪个类的成员函数,用于实现此功能正是虚函数。 14 【正确答案】 B 【试题解析】 本题考核运算符重载的概念。 C+中, =、 、 ( )、 -以及所有的类型转换符只能作为成员函数重载。所以 B选项的描述是正确的

28、。运算符重载就是赋予已有的运算符多重含义,并不是定义新的运算符; C+把重载的运算符视为特殊的函数,称为运 算符函数,函数名就是在运算符前加上保留字 operator; “+“是一个二元运算符,但是作为成员函数重载时参数表中只有一个形参,对应第二个操作数,而第一个操作数就是对象本身。 15 【正确答案】 C 【试题解析】 本题考核模板函数的使用。在说明一个函数模板后,当编译系统发现有一个对应的函数调用时,将根据实参中的类型来确认是否匹配函数模板中对象的形参,然后生成一个重载函数。由此可知模板函数的真正代码是在函数调用时产生的。 16 【正确答案】 D 【试题解析】 本题考核 C+的输出流。语句

29、中符 号 “ “是插入运算符,而提取运算符是 “ “。 17 【正确答案】 C 【试题解析】 当一个函数中有多个默认参数时,则形参分布中默认参数应从右到左逐渐定义。在函数调用时,系统按从左到右的顺序将实参与形参结合,当实参的数目不足时,系统将按同样的顺序用说明或定义中的默认值来补齐所缺少的参数。在 C选项中,函数调用中只有两个实参,系统按从左到右的顺序将实参与形参结合时,实参 ,其中 const是修饰符可以省略。 27 【正确答案】 D 【试题解析】 构造函数是类的一个特殊成员函数,它与类同名,并且没有返回值。 C+在创建一个对象时,会自动调用类的构造函数,在构造函数中可以执行初始化成员变量的

30、操作。构造函数可以是内联函数,也可以重载。 28 【正确答案】 C 【试题解析】 本题考核 this指针的应用。上述程序中 sample类定义了一个addvalue非静态成员函数。 addvalue函数的原型是: void addvalue(sample *this,int m);,该函数的第一个参数是执行该类对象的一个指针即 this指针。由于这个参数是系统隐含的,所以我们在定义该成员函数时并没有看到这样一个参数。在成员函数的定义体中,可以通过 this访问这一参数。上述程序的最后输出结果是 15。 29 【正确答案】 A 【试题解析】 本题考核运算符重载。 C+把重载的运算符视为特殊的函数

31、,称为运算符函数,函数名就是在运算符前加上保留字 operator。运算符重载的定义格式:返回类型 operator运算符号 (参数说明 ); 运算符 “-“是二元运算符, A选项中重载函数的形参列表都 double,而重载函数的返回类型为类 Volume,显然是错误的。 30 【正确答案】 C 【试题解析】 本题考核模板的声明。模板声明的开始部分为: template类型形参表。其中,类型形参表可以包含基本数据类型,也可以包含类类型。类型形参需要加前缀 class。如果类型形参多于一个,则每个类型形参都要使用class。形参表中的参数是惟一的,而且至少在函数定义体中出现一次。形参表中至少有一

32、个形参的类型必须用类型形参表中的形参来定义。所 以只有 C选项的声明是正确的。 31 【正确答案】 A 【试题解析】 本题考核虚基类的应用。本题中,虽然 Derived1和 Derived2都是由共同的基类 x派生而来的,但由于引入了虚基类,使得它们分别对应基类的不同副本。这时数据成员 x只存在一份拷贝,不论在类 Derived1中修改,还是在类Derived2中修改,都是直接对这惟一拷贝进行操作。本题程序执行语句 “Derived obj;”时,就会先调用虚基类 Base的构造函数,使得 x=0,然后执行类 Derived1的构造函数使得 x=10,再执行类 Derived2的构造函数,使得

33、 x=20。最后输出 x的值为 20。 32 【正确答案】 B 【试题解析】 本题考核运算符的重载。对于一元运算符参数表是空的,但是一元运算符 “+“和 “-“即可以作为前缀运算符又可以作为后缀运算符。为了区分这两种情况,重载这两个运算符时必须在格式上有所区别:重载后缀的时必须多一个虚拟参数。所以答案为 B。 33 【正确答案】 B 【试题解析】 本题考核常对象、常数据成员和常成员函数。本程序中有两个错误:第 1个错误是 a.setvalue(5);语句,由于对象 a为常对象 ,所以对象 a的私有数据成员 n不能被更新;第 2处错误是语句 a.display();。由于对象 a为常对象,所以通

34、过对象 a只能调用它的成员函数,而成员函数 display()不是常成员函数。 34 【正确答案】 D 【试题解析】 本题考核派生类构造函数的使用。本题中,派生类 c具有多重继承关系,所以在派生类 C的构造函数中应该包含基类 A和 B的成员初始化列表。 35 【正确答案】 B 【试题解析】 使用 const关键字修饰的对象成为常对象,题中对象 b被声明为类R的常,对象。使用 const关键字说明的成 员函数称为常成员函数,类 R中用const重载了函数 print()。在使用常对象和常成员函数时应注意的是: const是函数类型的一个组成部分,因此在常成员函数部分也要带 const关键字;常成

35、员函数不能更新对象的数据成员,也不能调用该类中没有用 const修饰的成员函数;如果将一个对象说明为常对象,则通过该常对象只能调用它的常成员函数,不能调用其他的成员函数; const关键字可以参与区分重载函数。本题中, b为类 R的常对象,通过 b只能调用类 R的常成员函数 print()输出 20,52。 36 【正确答案】 物理独 立性 【试题解析】 数据的独立性是指数据和应用程序相互独立,分为物理独立性和逻辑独立性。其中物理独立性是指数据的物理结构 (包括存储结构、存取方式 )改变时,不需要修改应用程序。而逻辑独立性是指当逻辑结构改变时,不需要修改应用程序 37 【正确答案】 元组 【试

36、题解析】 在关系型数据库中,用二维表来表示关系,二维表的表名即关系名,二维表的行称为关系的元组,二维表的列称为关系的属性。 38 【正确答案】 外模式 【试题解析】 数据库系统的三级模式分别是内模式、概念模式和外模式。其中,物 理模式给出了数据库的物理存储结构和存取方法;概念模式是数据库系统中全局数据逻辑结构的描述;外模式是用户的数据视图,也就是用户所见到的数据模式。 39 【正确答案】 交换排序 【试题解析】 所谓排序是指将一个无序序列整理成按值非递减顺序排列成的有序序列,常用的排序方法有交换排序、插入排序和选择排序。其中交换排序包括冒泡排序和快速排序,插入排序包括简单插入排序和希尔排序,选

37、择排序包括直接选择排序和堆排序。 40 【正确答案】 读栈顶元素 【试题解析】 栈的基本运算有 3种:入栈、退栈和读栈顶元 素。其中,入栈是指在栈顶插入一个新的元素;退栈是指取出栈顶元素并赋值给一个变量;读栈顶元素是将栈项元素赋值给一个指定的变量,不删除栈顶元素。 41 【正确答案】 私有或 private 【试题解析】 此题考查的是类的成员的默认访问权限。在未声明,即默认情况下,类中数据成员和成员函数的默认访问级别为私有。 42 【正确答案】 ai-1 a3-i 【试题解析】 首先第一个 for循环中,由 1到 4,依次将 i值赋给数组 a。在数组中第一个元素位 a0,而第一个循环 i从 1

38、开始,所以第一个空填 ai-1。第二个循环是将数组对折,例如第一个赋值给第四个,所以由 0开始,将第 i个元素赋值给第 3-i,即 a3-i=ai。 43 【正确答案】 (*p)(x,y) 【试题解析】 一个函数总是占用一段连续的内存区,而函数名就是该函数所占内存区的首地址。我们可以把函数的这个首地址 (或称入口地址 )赋予一个指针变量,使该指针变量指向该函数。然后通过指针变量就可以找到并调用这个函数。我们把这种指向函数的指针变量称为 “函数指针变量 ”。函数指针变量定义的一般形式为:类型说明符 (*指针变量名 )();其中 “类 型说明符 ”表示被指函数的返回值的类型。 “(*指针变量名 )

39、”表示 “*”后面的变量是定义的指针变量。最后的空括号表示指针变量所指的是一个函数。 44 【正确答案】 this- value或 TestClass:value 【试题解析】 为了指明是给本类中的 value变量赋值,所以利用每一个成员函数中的指针 this指向该变量,或者说明是该类域中的 value, TestClass:value。 45 【正确答案】 纯虚函数 【试题解析】 纯虚函数是在声明虚函数时被 “初始化 ”为 0的函数。纯虚函数没 有函数体,只有函数名而不具备函数的功能,只是在基类中预留了一个函数名,具体功能留给派生类根据需要去定义。 46 【正确答案】 运行时的多态性 【试题

40、解析】 多态性是指一个接口,多种方法。分为编译时多态性和运行时的多态性。 47 【正确答案】 (*p) 【试题解析】 此题考查的知识点是成员函数的调用。通过对象调用成员函数使用“.”运算符,而通过对象的指针调用成员函数则使用 “- ”运算符。题目中, Print()函数之前已经有一个 “.”,所以此处应填入一个对象,所以就把指针 p转化成指针所指的对 象,填入表达式 (*P)。 48 【正确答案】 1 【试题解析】 此题考查的是运算符重载。当运算符重载为类的成员函数时,第一操作数就是对象本身,并不是显式的出现在参数表中。因此,对于一元运算符参数表是空的;对于二元运算符参数表中只有一个参数,它代

41、表第二操作数。 49 【正确答案】 stack-top或 stacktop-=1或 stacktop=top-1) 【试题解析】 此愿考查的是类模板。在函数 pop函数体内应该完成的是弹出元素stacktop-1,然后将 top做减 1操作, 且空格处要求这两个操作在一条语句中完成。 50 【正确答案】 AAB 【试题解析】 此题考查的是派生类的构造函数。建立派生类对象时,构造函数的执行顺序:执行基类的构造函数,调用顺序按照各个基类被继承时声明的顺序 (自左向右 ),接着执行成员对象的构造函数,调用顺序按照各个成员对象在类中声明的顺序 -执行派生类的构造函数。题目中首先定义了类 CA的对象 a,输出 A;然后定义 CB类的对象 b,因为 CB类派生自 CA类,所以会先执行 CA类的构造函数,再执行 CB类的构造函数,即输出 A和 B。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1