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

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

1、国家二级( C+)笔试模拟试卷 233及答案与解析 1 算法的空间复杂度是指 ( A)算法程序的长度 ( B)算法程序中的指令条数 ( C)算法程序所占的存储空间 ( D)算法执行过程中所需要的存储空间 2 下列关系模型中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是 ( A)选择 ( B)连接 ( C)投影 ( D)并 3 下列说法中,不属于数据模型所描述的内容的是 ( A)数据结构 ( B)数据操作 ( C)数据查询 ( D)数据约束 4 软件按 功能可以分为应用软件、系统软件和支撑软件 (或工具软件 )。下面属于应用软件的是 ( )。 A) 学生成绩管理系统 B) C语言

2、编译程序 C) UNIX操作系统 D) 数据库管理系统 5 算法的空间复杂度是指 ( A)算法在执行过程中所需要的计算机存储空间 ( B)算法所处理的数据量 ( C)算法程序中的语句或命令条数 ( D)算法在执行过程中所需要的临时工作单元数 6 线性表的顺序存储结构和线性表的链式存储结构分别是 ( A)顺序存取的存储结构、顺序存取的存储结构 ( B)随机存取的存储结构、 顺序存取的存储结构 ( C)随机存取的存储结构、随机存取的存储结构 ( D)任意存取的存储结构、任意存取的存储结构 7 下列数据结构中能应用二分查找的是 ( A)有序线性链表 ( B)有序顺序表 ( C)顺序存储的栈 ( D)

3、顺序存储的队列 8 数据处理的最小单位是 ( A)数据 ( B)数据元素 ( C)数据项 ( D)数据结构 9 下列叙述中正确的是 ( A)数据库系统是一个独立的系统,不需要操作系统的支持 ( B)数据库设计是指设计数据库管理系统 ( C)数据库技术的根本目标是要解决数据共 享的问题 ( D)数据库系统中,数据的物理结构必须与逻辑结构一致 10 在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是 ( A)并 ( B)交 ( C)投影 ( D)笛卡儿乘积 11 有如下函数模板定义: template typename T1, typename T2 typename T3 T2 pl

4、us(T1 t1, T3 t3)return t1+t3; 则以下调用中正确是 ( A) plus(3,5L); ( B) plus (3,5L); ( C) plus int (3,5L); ( D) plus int, double (3,5L); 12 语句 ofstream f(“DATA.DAT“,ios_base:app|ios_base:binary);的功能是建立流对象 f,并试图打开文件 DATA.DAT并与之连接,而且 ( A)若文件存在,将文件指针定位于文件首;若文件不存在,建立一个新文件 ( B)若文件存在,将其截为空文件,若文件不存在,打开失败 ( C)若文件存在,将

5、文件指针定位于文件尾;若文件不存在,建立一个新文件 ( D)若文件存在,打 开失败;若文件不存在,建立一个新文件 13 关于 const修饰符的说法中,错误的是 ( A) const既可以修饰成员函数,也可以修饰数据成员,还可以修饰对象 ( B)若 const修饰了一个对象,则该对象中的所有数据成员都无法被更新 ( C)常对象无法调用一般成员函数 ( D)常成员函数只能被常对象调用,不能被一般对象调用 14 下列程序的执行结果是 ( )。 #include iostream.h #include stdlib.h class TestClass public: intx,y; TestClas

6、s()x=y=0; TestClass(int a,int b)x=a;y=b; void disp() cout “X“=“ X “,y=“ y endl; ( A) x=2,y=2 ( B) x=3,y=3 ( C) x=2,y=3 ( D) x=3,y=2 15 有如下程序 : #include iostream.h long fib(int n) if(n 2) return(fib(n 1) fib(n 2) ) ; else return(2) ; void main( ) cout nb(3) ; 该程序的输出结果是 ( A) 2 ( B) 4 ( C) 6 ( D) 8 16

7、有以下程序,输出结果 ( )。 #include using namespace std; class Complex public: Complex(double r=0, double i=0): re(r), ira(i) double realoconstreturn re; double imagoconstreturn im; Complex operator+(Complex c)const return Complex(re+c re, im+c im); private: dOuble re im; ; int main() Complex a=Complex(1, 1)+C

8、omplex(5); couta real()+a imag()iendl; return 0: ( A) 6+i ( B) 2i+5 ( C) 6+1i ( D) li+5 17 有如下程序: #include iostream using namespace std; class XA int a; public: static int b; XA(int a A) : a(aA) b+; XA() int get()return a; ; int XA:b=0; int main() XA d1(2), d2(3); cout d1. get()+d2. get()+XA:b end1;

9、 return 0; 运行时的输出结果是 ( )。 A) 5 B) 6 C) 7 D) 8 18 下面程序运 行的结果是 ( )。 #include iostream using namespace std; class A protected: int a; public: void input(int i) a=i; ; class B protected: int a; public: void input(int j) a=j; ; class C: public A, public B int x; public: void input() x=A:a * B:a;cout x en

10、dl; ; void main() C c; c.A:input(5); c.B:input(8); c.input(); ( A) 5 ( B) 8 ( C) 40 ( D)编译出错 19 有如下程序: #include iostream using namespace std; class Complex double re, im, public: Complex(double r, double i): re(r), im(i) double real() const return re; double image() const return im, Complex im +=a.i

11、m; return *this; ; ostream int main() Complex x(1,-2), y(2,3); cout (x+=y) endl; return 0; 执行这个程序的输出结果是 ( )。 ( A) (1, -2) ( B) (2, 3) ( C) (3, 5) ( D) (3, 1) 20 在 C+中,合法的字符常量是 _。 ( A) 084 ( B) x43 ( C) ah ( D) “0” 21 已知一个类 A的定义如下,则 执行 “Ax(3); ”语句后, x.a和 x.b的值分别为 _。 class A int a, b; public: A(int aa

12、=1, int bb=0)a=aa;b=bb ; ( A) 1和 0 ( B) 3和 1 ( C) 1和 3 ( D) 3和 0 22 有如下函数模板声明: template typename T T Max(T a, T b)return(a=b)?a:b; 下列对函数模板 Max的调用中错误的是 _ 。 ( A) Max(3.5,4.5) ( B) Max(3.5,4) ( C) Max double (3.5,4.5) ( D) Max double (3.5, 4) 23 有如下程序 : #include iostream using namespace std; class Stac

13、k public: Stack(unsigned n= 10):size(n) rep_=ew intsize; top=0; Stack(Stack for(int i=0;isize;i+) rep_i=s.rep_i; top=s.top; Stack() deleterep_; void push(int a) rep_top=a; top+; int pop() -top;return rep_top; bool isEmpty() const return top=0; private: int *rep_; unsigned size,top; ; int main() Stac

14、k s1; for(int i= 1;i 5 ;i+) s1. push(i); Stack s2(s1); for(i= 1 ;i3;i+) cout s2.pop() ,; s2.push(6); si.push(7); while(!s2.isEmpty() cout s2.pop() ,; return 0; 执行上面程序的输出是_ 。 ( A) 4,3,2,1, ( B) 4,3,6,7,2,1, ( C) 4,3,6,2,1, ( D) 1, 2, 3, 4, 24 下面对静态数据成员的描述中,正确的是 ( A)静态数据成员可 以在类体内进行初始化 ( B)静态数据成员不可以被类的

15、对象调用 ( C)静态数据成员不能受 ptirate控制符的作用 ( D)静态数据成员可以直接用类名调用 25 下列关于运算符重载不正确的是 ( A)运算符重载不能改变运算符的操作数个数 ( B)运算符重载不能改变运算符的优先级 ( C)运算符重载不能改变运算符的结合性 ( D)运算符重载能改变对预定义类型数据的操作方式 26 下列关于 C+语言类的描述中错误的是 ( A)类用于描述事物的属性和对事物的操作 ( B)类与类之间通过封装而具有明确的独 立性 ( C)类与类之间必须是平等的关系,而不能组成层次结构 ( D)类与类之间可以通过一些方法进行通信和联络 27 以下选项中,合法的字符常量是

16、 ( )。 ( A) N ( B) 010 ( C) 68 ( D) D 28 若有以下程序: #include iostream using namespaces std; class A public: A () A (int i) x1=i; void dispa() cout “xl=“ xl “ , “; private: int x1; ; class B : public A public: B () B (int i):A(i+10) x2=i; void dispb() dispa (); cout “x2=“ x2 end1; private: int x2; ; int

17、main () B b(2); b.dispb (): return 0; 程序运行后的输出结果是( )。 ( A) x1=10,x2=2 ( B) x1=12,x2=10 ( C) x1=12,x2=2 ( D) x1=2,x2=2 29 下列程序的输出结果是 ( )。 #include iostream.h void main() double d=3.2; intx, y: x=1.2; y=(x+3.8)/5.0 cout y*d endl; ( A) 3 ( B) 3.2 ( C) 0 ( D) 3.07 30 下面程序的结果为 ( )。 #include“iostream.h“ v

18、oid change (int a, int b) int temp; temp=a; a=b; b=temp: void main() int m, n; m=8; n=9; change(m, n): cout m “ “ n endl; ( A) 89 ( B) 98 ( C)程序有错误 ( D) 99 31 设有程序段 int k=10; while(k=0)k=k 1; 则下面描述中正确的是 ( A)循环执行 10次 ( B)无限循环 ( C)循环体语句一次也不执行 ( D)循环体语句 执行一次 32 下面程序的运行结果为 #include iostream.h class A in

19、t num; public: A(int i)num=i; A(A protected: int b; public: int c; ; 派生类采用何种继承方式可以使成员变量 b成为自己的私有成员 ( A)私有继承 ( B)保护继承 ( C)公有继承 ( D)私有、保护、公有均可 34 下列不是构造函数的特征的是 ( )。 ( A)函数名与类名相同 ( B)构造函 数可以重载 ( C)构造函数可以设置默认值 ( D)构造函数可以有返回值 35 下列关于 C+流的说明中,正确的是 ( A)与键盘、屏幕、打印机和通信端口的交互都可以通过流类来实现 ( B)从流中获取数据的操作称为插入操作,向流中添

20、加数据的操作称为提取操作 ( C) cin是一个预定义的输入流类 ( D)输出流有一个名为 open的成员函数,其作用是生成一个新的流对象 36 最简单的交换排序方法是 _。 37 软件测试分为白箱 (盒 )测试和黑箱 (盒 )测试,等价类划分法属于 _测试。 38 继承与【 】机制,是面向对象程序中实现重用的主要手段。 39 Jackson结构化程序设计方法是英国的 M Jackson提出的,它是一种面向【 】的设计方法。 40 在关系运算中,【 】运算是在指定的关系中选取所有满足给定条件的元组,构成一个新的关系,而这个新的关系是原关系的一个子集。 41 下面是一个栈类的模板,其中 push

21、函数将元素 i压入栈顶, pop函数弹出栈顶元素。栈初始为空, top值为 0,栈顶元素在 stacktop-1中,在下面横线处填上适当语句,完成栈类模板的定义。 template class 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 _ ; ; 42 下列程序将 x、 y和 z按从小到大的顺序排列,请将下面的函数模板补充完整。 template class T v

22、oid order( ) T al if(x y) a x; x y; y a; if(y z) a y; y=Z; z a; if(x y) a X; X=y; y=a; 43 阅读下列程序,并写程序运行结果【 】。 #include iomanip. h void main() for(int i=0;i 4;i+) cout end1 setfill( ) setw(4-i) 0 setfill(*) setw(i+i) (i 0? O : ); 44 程序 #include“iostream h“ void main() int i=10; int i=5; cout j+i+ end

23、l; 的结果为【 】。 45 C+语言的参数传递机制包括传值和传地址两种,如果调用函数时,需要改变实参或者返回多个值,应该采取【 】方式。 46 以下程序的输出结果 _。 #include iostream.h void main() int a=0 a+=(a=8); cout a; 47 浮点数的默认精度值是 _。 48 【 】允许用户为类定义一种模式,使得类中的某些数据成员及某些成员函数的返回值能取任意类型。 49 以下程序的执行结果是 _。 #include iostream.h #include iomanip.h void main() cout.fil(*): cout.widt

24、h(10); cout setiosflags(ios: hex) 160 endl; cout.width(8); cout 160 endl; cout.width(4): cout 160 endl; 50 请在下列程序中的横线处填写正确的语句: class Sample public: Sample()() Sample() void SetData(int data)/将 Sample类成员变量 data设置成形参的值 _ private: int data; ; 国家二级( C+)笔试模拟试卷 233答案与解析 1 【正确答案】 D 【试题解析】 算法的空间复杂度指执行这个算法所需

25、要的内存空间。一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。正确答案为 D。 2 【正确答案】 B 3 【正确答案】 C 【试题解析】 数据模型所描 述的内容有 3个部分,它们是数据结构、数据操作和数据约束。其中,数据模型中的数据结构主要描述数据的类型、内容、性质,以及数据库的联系等 ;数据操作主要是描述在相应数据结构上的操作类型与操作方式。 4 【正确答案】 A 5 【正确答案】 A 【试题解析】 算法的空间复杂度是指:算法执行过程中所需的存储空间。一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间及

26、算法执行过程中所需要的额外空间。 6 【正确答案】 B 【试题解析】 顺序存储结构中,数据元素存放在一组地 址连续的存储单元中,每个数据元素地址可通过公式 LOC(a(下标 )i)=LOC(a(下标 )1)+(i-1)L 计算得到,从而实现了随机存取。对于链式存储结构,要对某结点进行存取,都得从链的头指针指向的结点开始,这是一种顺序存取的存储结构。注意:顺序存储结构和链式存储结构的定义和性质,两种存储结构的操作方法。 7 【正确答案】 B 【试题解析】 二分查找的具体过程为:将 x与线性表的中间项进行比较,若中间项的值等于 x,则说明查到,查找结束:若 x小于中间项的值,则在线性表的前半部分

27、(即中间项以前的部分 )以相 同的方法进行查找:若 x大于中间项的值,则在线性表的后半部分 (即中间项以后的部分 )以相同的方法进行查找。这个过程一直进行到查找成功或子表长度为 0(说明线性表中没有这个元素 )为止。由此可知,有序线性表顷序存储时才能采用二分查找。所以,本题的正确答案为 B。 8 【正确答案】 C 【试题解析】 数据处理的最小单位是数据项;由若干数据项组成数据元素;而数据是指能够被计算机识别、存储和加工处理的信息载体;数据结构是指数据之间的相互关系和数据运算。故正确答案为选项 C。 9 【正确答案】 C 【试题解 析】 A选项,数据库系统需要操作系统的支持,必不可少,故其叙述不

28、正确。 B 选项错误,数据库设计是指设计一个能满足用户要求,性能良好的数据库。 D选项也不对,数据库应该具有物理独立性和逻辑独立性,改变其一而不影响另一个。正确答案为 C。 10 【正确答案】 B 【试题解析】 本题考查数据库的关系运算。两个关系的并运算是指将第一个关系的元组加到第二个关系中,生成新的关系。因此,并运算不改变关系表中的属性个数,也不能减少元组个数。 两个关系的交运算是包含同时出现在第一和第二个关系中的元组的新关系。因此,交运算 不改变关系表中的属性个数,但能减少元组个数。 投影是一元关系操作。投影操作选取关系的某些属性,这个操作是对一个关系进行垂直分割,消去某些属性,并重新安排

29、属性的顺序,再删除重复的元组。因此,投影运算既可以减少关系表中的属性个数,也可以减少元组个数。 两个关系的笛卡儿乘积是指一个关系中的每个元组和第二个关系的每个元组连接。因此,笛卡儿乘积运算能够增加元组属性的个数。 经过上述分析可知,在上述四种运算中,交运算不改变关系表中的属性个数但能减少元组个数。因此,正确答案是选项 B。 11 【正确答案】 D 【 试题解析】 本题考核函数模板的使用。 C+中对函数模板的调用有时候只使用了函数实参,而没有使用模板实参,模板实参都被省略了,但模板实参的省略并不是必然的,而是有条件。模板实参不能省略的情况有:从模板函数实参表获得的信息有矛盾;需要获得特定类型的返

30、回值,而不管参数的类型如何;虚拟类型参数没有出现在模板函数的形参中;函数模板含有常规形参。题中定义的函数模板中虚拟类型参数 T2没有出现在模板函数的形参列表中,所以在调用时不能省略, D选项的调用省略了 T3,这是允许的。 12 【正确答案】 C 【试题解析】 本题考核文件 I/O 操作。 C+中可以在定义文件流对象的同时打开文件,也可以在定义文件流对象以后用 open函数打开文件。可以通过构造函数或open 函数的第 2个参数,确定文件的打开模式。根据以上知识点可知关于题中语句的描述中,只有 C选项是正确的。 13 【正确答案】 D 【试题解析】 本题考察 const修饰符的含义及其修饰不同

31、对象的规则。常成员函数既能被常对象调用,也能被一般对象调用,一旦 const修饰了一个对象,则对象的所有数据成员都无法更新。 14 【正确答案】 C 【试题解析】 由主 函数入手,定义了类 TestClass 的对象 s1(2, 3),当类对象进入其作用域时调用构造函数,构造函数应该是调用具有参数的 “TestClass(int a,int b) x=a; y=b; )”。然后引用成员函数 disp(),则输出为 “cout ”x=“ x ”, y=“ y endl; ”。即 x=2,y=3。 15 【正确答案】 B 【试题解析】 fib(3) fib(2) fib(1) ,而 fib (2)

32、 的返回值为 2, fib(1) 的返回值也为 2,故输出的 fib (3) 的值为 4。 16 【正确答案】 C 【试题解析】 由主函数入手,调用 “Complex a=Complex(1,1)+Complex(5); ”,实际是 “Complex a=Complex(1, 1)+Complex(5, 0); ”,调用“return Complex(re+c re,im+c im); ”结果为: 6+li。 17 【正确答案】 C 18 【正确答案】 C 【试题解析】 用成员名限定法来消除二义性,故答案为 C。 19 【正确答案】 D 20 【正确答案】 B 21 【正确答案】 D 22 【

33、正确答案】 B 【试题解析】 使用模板,应避免二义性 23 【正确答案】 C 【试题解析】 栈是 “先进后出 ”的数据结构。 24 【正确答案】 B 【试题解析】 本题考查的是内联函数的定义,引入内联函数是为了解决程序中函数调用的效率问题,是以目标代码的增加为代价换取时间的节省;一般函数在运行时被调用,而调用的内联函数在编译时就被替代了,如果不加 inline关键字,则编译器会将在类说明部分定义的任何函数都被认定为内联函数。 25 【正确答案】 D 【试题解析】 运算符重载的规则是重载时不能改变运算符的操作数个数,不能改变运算符的优先级,不能改变运算符的结合性,不能改变对预定义类型数据的操作方

34、式。注意:运算符重载的关键字是 operator。 26 【正确答案】 C 【试题解析】 C+语言中的类是可以组成层次结构的,类是用于描述事物的属性和对事物的操作,类与类之间有相对的独立性,但其可以通过一些方法进行信息的通信。 27 【正确答案】 B 【试题解析】 本题考核字符型常量的表示。选项 A中是字符串的表示方法。选项 B 所表示的是一个转义字符,是特殊的 字符常量。选项 C中所表示的是整型常量。选项 D中不是常量的表示。 28 【正确答案】 C 【试题解析】 本题考核派生类的构造函数。在 C+中,构造函数不能被继承,因此,派生类的构造函数必须通过调用基类的构造函数宋初始化基类子对象。所

35、以,在定义派生类的构造函数时,除了对自己的数据成员进行初始化外,还必须负责调用基类构造函数,使基类的数据成员得以初始化。如果派生类中还有子对象,还应包含对子对象初始化的构造函数。本题中,在派生类 B的构造函数中,调用基类 A的构造函数对基类 A的数据成员 x1 进行了初始化。 29 【正确答案】 C 30 【正确答案】 A 31 【正确答案】 C 【试题解析】 本题中,首先将 0赋给 k,表达式变为 0,跳出循环,没有执行循环体语句。解答本题的关键是掌握 while语句。 32 【正确答案】 C 【试题解析】 本题考查考生对拷贝构造函数的掌握。因为 +运算是右结合的,所以在使用 a对 b赋值时

36、, b的 num变为 1而 a的 num变为 2(先赋值再自加 )。 33 【正确答案】 A 【试题解析】 类的继承中有三种继承方式,他们和类的访问级别相结合在派生类中可以产生多 种访问级别。基类中成员为保护的,在派生类中要为私有的,可以采用私有继承。基类中的保护成员在振生类中不是私有就是保护,即级别只能降低而不能升高。基类中的公有成员则可能为私有、保护和私有。 34 【正确答案】 D 【试题解析】 构造函数不能有返回值。 35 【正确答案】 A 【试题解析】 本题考查的是 C+流的一些概念。从输入流中提取数据赋给一个变量的操作称为提取操作;而把表达式的值插入到输出流中的操作称为插入操作。故选

37、项 B 的说法不正确。 cin 是一个预定义的输入流对象而不是流类,故选项 C不正 确。只有文件流中有一个 open成员函数,用来打开一个文件,而输入、输出流中没有 open 成员函数,选项 D的说法不正确。所以,只有选项 A是正确的,应该选择 A。 36 【正确答案】 冒泡排序 【试题解析】 交换排序是指借助数据元素之间的互相交换进行排序的一种方法,冒泡排序是一种最简单的交换排序方法,它是通过相邻元素之间的相互交换逐步将线性表变成有序。 37 【正确答案】 黑盒 【试题解析】 等价类划分法是将所有可能的输入数据,即程序的输入域划分为若干部分 (子集 ),然后从每个子集中选择少数具有代 表性的

38、数据作为测试用例。该方法是一种常用的黑盒用例分析方法。 38 【正确答案】 多态性 39 【正确答案】 数据结构 【试题解析】 结构化分析方法主要包括:面向数据流的结构化分析方法 (SA-Structured analysis),面向数据结构的 Jackson 方法 (JSD-Jackson system development methoD 和面向数据结构的结构化数据系统开发方法 (DSSD -Data structured system development methoD。 40 【正确答 案】 选择 【试题解析】 在关系运算中选择运算是在指定的关系中选取所有满足给定条件的元组,构成一个

39、新的关系,而这个新的关系是原关系的一个子集。 41 【正确答案】 stack-top或 stacktop-=1或 stacktop=top-1 【试题解析】 本题考核类模板函数 pop 的的功能栈顶元素,所以在函数体内应该完成的动作是弹出元素 stack(top-1,然后将 top做减 1一操作,由于只有一处空格,所以这两操作要在一条语句中完成。 42 【正确答案】 T&x, T&y, T&z。 【试题解析】 本题要填入的是函数的形参表,此函数的功能是: x、 y和 z按从小到大的顺序排列,那么就涉及到改变传入的实参值的情况,因此要采用引用传递的方式。所以本惠空白处应填入, T&x, T&y

40、,T&z。 43 【正确答案】 0 0*0 O*0 0*0 44 【正确答案】 15 【试题解析】 i+为先做与 i有关的运算后, i自加 1,而 +i是先给 i加 1再进行与 i有关的操作注意:各种运算符的应用,注意 +, -。 45 【正确答案】 传 地址 【试题解析】 本题考查的是传值调用和传址调用的区别 传值调用只是进行值的简单复制,返回之后不会改变原来的值;而传址调用是把参数的地址传入,会改变原来的值。 46 【正确答案】 16 47 【正确答案】 6位 48 【正确答案】 类模板 【试题解析】 本题考核类模板的基本概念。类模板就是一系列相关类的模型或样板,这些类的成员组成相同,成员

41、函数的源代码形式相同,所不同的只是所针对的类型 (成员的类型以及成员函数的参数和返回值的类型 )。对于类模板,数据类型本身成了它的参数,因而是一种 参数化类型的类,是类的生成器。类模板中声明的类称为模板类。 49 【正确答案】 *a0 *a0 *a0 50 【正确答案】 Sample:data; 【试题解析】 此题考查的是 this 指针。由于 Sample类的数据成员和函数的形参名称都是 data,如果在函数中直接使用 data引用的是形参变量而不是 Sample类的数据成员。解决办法两种有:一是通过 this指针,在类的成员函数中 this 代表函数所属对象的指针,即可填 this- data:二是通过作用域运算符 “:”明确 指出访问的是 Sample类的成员,所以在横线处填入 Sample:data。

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

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

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