【计算机类职业资格】二级C++-8-1及答案解析.doc

上传人:registerpick115 文档编号:1324146 上传时间:2019-10-17 格式:DOC 页数:28 大小:139KB
下载 相关 举报
【计算机类职业资格】二级C++-8-1及答案解析.doc_第1页
第1页 / 共28页
【计算机类职业资格】二级C++-8-1及答案解析.doc_第2页
第2页 / 共28页
【计算机类职业资格】二级C++-8-1及答案解析.doc_第3页
第3页 / 共28页
【计算机类职业资格】二级C++-8-1及答案解析.doc_第4页
第4页 / 共28页
【计算机类职业资格】二级C++-8-1及答案解析.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、二级 C+-8-1及答案解析(总分:88.50,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:64.50)1.有如下数组声明:int value 30;,下标值引用错误的是U /U。 A.value30 B.value0 C.value10 D.value20(分数:2.00)A.B.C.D.2.若有下面的函数调用:fun (a+ b,3,max(n-1,b)则 fun的实参个数是U /U。 A.3 B.4 C.5 D.6(分数:2.00)A.B.C.D.3.若有以下函数调用语句:fun(m+n,x+y,f(m+n,z,(x,y);在此函数调用语句中实参的个数是U /U。 A.

2、6 B. 5 C. 4 D. 3(分数:2.00)A.B.C.D.4.算法的空间复杂度是指U /U。 A.算法程序的长度 B.算法程序中的指令条数 C.算法程序所占的存储空间 D.执行过程中所需要的存储空间 (分数:1.00)A.B.C.D.5.有如下程序:#include iostreamusing namespace std;class Baseprivate:char c;public:Base(char n) :c(n)Base()coutc; ;class Derived: public Baseprivate:char c; public:Derived(char n):Base(

3、n+1),c(n) Derived()coutc;int main ()Derived obj (x);return 0;执行上面的程序净输出 A. xy B. yx C. x D. y(分数:2.00)A.B.C.D.6.假定 MyClass为一个类,则该类的拷贝构造函数的声明语句为 A. MyClass B. MyClass(MyClass x); C. MyClass(MyClass D. MyClass(MyClass *x);(分数:2.00)A.B.C.D.7.下列运算符不能重载为友元函数的是U /U。 A. = () B. + - + - C. = = D. += -= *= /

4、=(分数:2.00)A.B.C.D.8.有如下程序:#includeiostreamusing namespace std;class Basepubfic:Base()cout“BB“;f();void f()cout“Bf“:;class Derived:public Basepublic:Derived()cout“DD“;)voidf()cout“Df“:;intmain()Derived d;retum 0;执行上面的程序将输出 A.BBBfDD B.BBDfDDDf C.DD D.DDBBBf (分数:1.00)A.B.C.D.9.C+类体系中,不能被派生类继承的有U /U。 A.

5、构造函数 B.虚函数 C.静态成员函数 D.赋值操作函数 (分数:1.00)A.B.C.D.10.有如下程序:#includeiostreamusing namespace std;class Apublic:static int a;void init()a=1;A(int a=2)init();a+;int A:a=0;A obj;int main()coutobj.a;return 0;运行时输出的结果是_。 A.0 B.1 C.2 D.3(分数:1.00)A.B.C.D.11.在 C+语言中,数据封装要解决的问题是U /U。 A. 数据的规范化 B. 便于数据转换 C. 避免数据丢失

6、D. 防止不同模块之间数据的非法访问(分数:2.00)A.B.C.D.12.下列叙述中正确的是 A. 线性表是线性结构 B. 栈与队列是非线性结构 C. 线性链表是非线性结构 D. 二叉树是线性结构 (分数:1.00)A.B.C.D.13.若 x和 y是程序中的两个整型变量,则下列 if语句中正确的是_。 A.if(x=0)y=1;else y=2; B.if(x=0)then y=1 else y=2 C.if(x=0)y=1 else y=2; D.if x=0 y=1 else y=2;(分数:2.50)A.B.C.D.14.若要重载+、=、=和运算符,则必须作为类成员重载的运算符是 A

7、. +和= B. =和 C. =和 D. =和(分数:2.00)A.B.C.D.15.下列关于虚基类的描述中错误的是 A. 虚基类子对象的初始化由最派生类完成 B. 虚基类子对象的初始化次数与虚基类下面的派生类个数有关 C. 设置虚基类的目的是消除二义性 D. 带有虚基类的多层派生类构造函数的成员初始化列表中都要列出对虚基类构造函数调用(分数:2.00)A.B.C.D.16.以下程序的输出结果是_。int x=5;docout-x: while(!x); A. 43210 B. 5 C. 4 D. 无任何输出(分数:2.00)A.B.C.D.17.以下程序中,while 循环的循环次数是U /

8、U。main()int i=0;while(i0)if(i1) continue;if(i=5) break;i+;/ A.1 B.10 C.6 D.死循环,不能确定次数(分数:2.00)A.B.C.D.18.派生类的成员函数不能访问基类的 A. 公有成员和保护成员 B. 公有成员 C. 私有成员 D. 保护成员(分数:2.00)A.B.C.D.19.在多继承中,公有派生和私有派生对于基类成员在派生类中的可访问性与单继承的规则U /U。 A. 完全相同 B. 完全不同 C. 部分相同 D. 以上都不对(分数:2.00)A.B.C.D.20.设有以下类的定义:class Ex int x;pub

9、lic:void setx(int t=0);若在类外定义成员函数 setx(),以下定义形式中正确的是 A. void setx(int t). B. void Ex: :setx(int t). C. Ex: :void setx(int t). D. void Ex: :setx().(分数:2.00)A.B.C.D.21.将下面类 TestClass中的函数 fun()的对象成员 n值修改为 100的语句应该是U /U。class TcstClasspublic:TestClass(int x)n=x;void SetNum(int n1)n=n1;private:int n;int

10、fun()TestClass*ptr=new TestClass(45);_; A. TestClass(100) B. ptr-SetNum(100) C. SetNum(100) D. ptr-n=100(分数:2.00)A.B.C.D.22.适于对动态查找表进行高效率查找的组织结构是U /U。 A. 有序表 B. 分块有序表 C. 三叉排序树 D. 线性链表(分数:2.00)A.B.C.D.23.数据库技术的根本目标是要解决数据的 A. 存储问题 B. 共享问题 C. 安全问题 D. 保护问题(分数:1.00)A.B.C.D.24.设有下列二叉树:(分数:2.00)A.B.C.D.25.

11、以下定义数组中错误的是 A. int a10; B. int a2120; C. int a20; D.int a;(分数:2.00)A.B.C.D.26.在数据库设计中,将 E-R图转换为关系模式的过程属于U /U。 A.需求分析阶段 B.逻辑设计阶段 C.概念设计阶段 D.物理设计阶段(分数:2.00)A.B.C.D.27.类的析构函数的作用是 A. 一般成员函数的初始化 B. 类的初始化 C. 对象的初始化 D. 删除类创建的对象(分数:2.00)A.B.C.D.28.以下程序中,while 循环的循环次数是U /U。main()int i=O;while(i10)if(i1) cont

12、inue;if(i=5) break;i+; A.1 B.10 C.6 D.死循环,不能确定次数(分数:2.00)A.B.C.D.29.将:x+y*z 中的“+”用成员函数重载,“*”用友元函数重载应写为U /U。 A. operator+(operator*(y, z) B. x.operator+(operator*(y, z) C. x.operator+(x*(y, z) D. x+(operator*(y, z)(分数:2.00)A.B.C.D.30.支持子程序调用的数据结构是U /U。 A.栈 B.树 C.队列 D.二叉树(分数:2.00)A.B.C.D.31.关于下列程序段的描述

13、中,正确的是U /U。#includeiostream.hint fun(int,int);void main()coutfun(1,2)endl;int fun(int x,int y)return X+y; A. 该函数定义正确,但函数调用方式错误 B. 该函数调用方式正确,但函数定义错误 C. 该函数定义和调用方式都正确 D. 该函数定义和调用方式都错误(分数:2.00)A.B.C.D.32.控制格式输入/输出的操作子中,设置域宽的函数是 A. ws B. oct C. setfill(int) D. setw(int)(分数:2.00)A.B.C.D.33.有以下程序#include

14、iostreamusing namespace std;class Complexpublic:Complex (double r=0, double i =0 :re(r) ,im (i) double real() const return re;double imag() const return im;Complex operator + (Complex c constreturn Complex(re+c.re, im+c.im);privane:double re,im;int main Complex a =Complex(1,1)+Complex(5);couta.real(

15、)+a.imag() i endlreturn 0;程序执行后的输出结果是 A. 6+6i B. 6+1i C. 1+6i D. 1+1i(分数:2.00)A.B.C.D.34.有如下函数模板声明:templatetypename TT Max(T a,T b)return(a)b)?a:b;下列对函数模板 Max()的调用中错误的是U /U。 A.Max(3.5,4.5) B.Max(3.5,4) C.Max(double)(3.5,4.5) D.Max(double)(3.5,4)(分数:2.00)A.B.C.D.35.在一棵二叉树上第 5层的结点数最多是U /U。 A.8 B.16 C.

16、32 D.15(分数:2.00)A.B.C.D.二、B填空题/B(总题数:15,分数:24.00)36.若有“intx=15, y=20;”,则执行表达式 y-=x+后,表达式 x+y的值为 1。(分数:2.00)填空项 1:_37.在结构化设计方法中,数据流图表达了问题中的数据流与加工间的关系,且每一个 1 实际上对应一个处理模块。(分数:2.00)填空项 1:_38.已有函数 fun(a,b),为了使函数指针变量 P指向函数 fun,则使用的赋值语句是 1。(分数:2.00)填空项 1:_39.DBMS的数据控制功能包括完整性控制、并发控制、安全性控制和U U /U /U。(分数:2.00

17、)填空项 1:_40.一棵二叉树第 6层(根结点为第一层)的结点最多为 1 个。(分数:2.00)填空项 1:_41.以下程序的执行结果为U U /U /U。 #includeiostream using namespace std; void overload(int num) coutnumend1; void overload(char ch) char c=ch+1; coutcend1; int main() overload(X); return 0; (分数:1.00)填空项 1:_42.阅读下面的程序: #includeiomanip.h void main() cout.fi

18、ll(!); coutsetiosflags(ioS:left)填空项 1:_43.模板使我们可以用一个代码段指定一组相关函数(称为 1)或一组相关类(称为 2。(分数:1.00)填空项 1:_44.关键字 ASC和 DESC分别表示U U /U/U的含义。(分数:1.00)填空项 1:_45.下列程序在构造函数和析构函数中申请和释放类的数据成员 int *a,申请时使用形参 b初始化 a,请填空。 class A public: A(int b) ; A( ); private: int *a; ; A:A(int b) U U /U /U; A:A( ) U U /U /U; (分数:1.

19、00)填空项 1:_46.关系数据库的关系演算语言是以U /U为基础的 DML语言。(分数:2.00)填空项 1:_47.类 ostream的成员函数 1 用于执行无格式输出,成员函数 2 用于输出单个字符。(分数:1.00)填空项 1:_48.数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最高的阶段是 1。(分数:2.00)填空项 1:_49.下列程序中需要清理动态分配的数组,划线处应有的语句是_。 #includeiostream, h class person int age, tall; public: person() age= 0; tall= 40

20、; cout“A baby is born. “end1; person(int i) age=i, tall=40, cout“A old person. “end1; person(int i, int i) age = i; tall = j; cout “ a old person with tall. “ end1; person( ) cout“ person dead. “end 1; void show() cout“age= “age“ ,tall= “tallend1; ; void main() person * ptr; ptr = new person3; ptr0=

21、person ( ) ptr1=person(18); ptr2=person(20,120); for(int i=0;i3; i+) ptri. show( ); _ (分数:2.00)填空项 1:_50.由关系数据库系统支持的完整性约束是指 1 和参照完整性。(分数:1.00)填空项 1:_二级 C+-8-1答案解析(总分:88.50,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:64.50)1.有如下数组声明:int value 30;,下标值引用错误的是U /U。 A.value30 B.value0 C.value10 D.value20(分数:2.00)A. B.C

22、.D.解析:2.若有下面的函数调用:fun (a+ b,3,max(n-1,b)则 fun的实参个数是U /U。 A.3 B.4 C.5 D.6(分数:2.00)A. B.C.D.解析:3.若有以下函数调用语句:fun(m+n,x+y,f(m+n,z,(x,y);在此函数调用语句中实参的个数是U /U。 A. 6 B. 5 C. 4 D. 3(分数:2.00)A.B.C.D. 解析:解析 参数之间是用逗号分隔的,不要因为参数是表达式而被迷惑。函数的第一个参数是表达式m+n,第三个参数是表达式 f(m+n,z,(x,y)。4.算法的空间复杂度是指U /U。 A.算法程序的长度 B.算法程序中的指

23、令条数 C.算法程序所占的存储空间 D.执行过程中所需要的存储空间 (分数:1.00)A.B.C.D. 解析:5.有如下程序:#include iostreamusing namespace std;class Baseprivate:char c;public:Base(char n) :c(n)Base()coutc; ;class Derived: public Baseprivate:char c; public:Derived(char n):Base(n+1),c(n) Derived()coutc;int main ()Derived obj (x);return 0;执行上面的

24、程序净输出 A. xy B. yx C. x D. y(分数:2.00)A. B.C.D.解析:解析 在 C+中,由于析构函数不能被继承,因此在执行派生类的析构函数时,基类的析构函数也将被调用。执行顺序是先执行派生类的析构函数,再执行基类的析构函数,其顺序与执行构造函数的顺序正好相反。在此题的程序中,在主函数 main结束时,派生类 Derived对象 obj将被删除,所以就会调用对象的析构函数。先调用派生类的析构函数,输出 x,然后调用基类的析构函数,输出 y。6.假定 MyClass为一个类,则该类的拷贝构造函数的声明语句为 A. MyClass B. MyClass(MyClass x)

25、; C. MyClass(MyClass D. MyClass(MyClass *x);(分数:2.00)A.B.C. D.解析:解析 本题考核拷贝构造函数的概念。声明拷贝构造函数的格式为:类名:拷贝构造函数(const类名,其中 const是修饰符可以省略。7.下列运算符不能重载为友元函数的是U /U。 A. = () B. + - + - C. = = D. += -= *= /=(分数:2.00)A. B.C.D.解析:解析 此题考查的是运算符重载的概念。C+语言规定,=、()、-以及所有的类型转换运算符只能作为成员函数重载,如果要重载为友元函数就必须重载为非成员函数。8.有如下程序:#

26、includeiostreamusing namespace std;class Basepubfic:Base()cout“BB“;f();void f()cout“Bf“:;class Derived:public Basepublic:Derived()cout“DD“;)voidf()cout“Df“:;intmain()Derived d;retum 0;执行上面的程序将输出 A.BBBfDD B.BBDfDDDf C.DD D.DDBBBf (分数:1.00)A. B.C.D.解析:9.C+类体系中,不能被派生类继承的有U /U。 A.构造函数 B.虚函数 C.静态成员函数 D.赋

27、值操作函数 (分数:1.00)A. B.C.D.解析:10.有如下程序:#includeiostreamusing namespace std;class Apublic:static int a;void init()a=1;A(int a=2)init();a+;int A:a=0;A obj;int main()coutobj.a;return 0;运行时输出的结果是_。 A.0 B.1 C.2 D.3(分数:1.00)A.B. C.D.解析:解析 本题考查构造函数,本题中对类中的 a数据成员先是赋值为 0,当定义了对象 obj时,执行构造函数,将 a的值变为了 1,所以输出 1。11.

28、在 C+语言中,数据封装要解决的问题是U /U。 A. 数据的规范化 B. 便于数据转换 C. 避免数据丢失 D. 防止不同模块之间数据的非法访问(分数:2.00)A.B.C.D. 解析:解析 封装的含义。12.下列叙述中正确的是 A. 线性表是线性结构 B. 栈与队列是非线性结构 C. 线性链表是非线性结构 D. 二叉树是线性结构 (分数:1.00)A. B.C.D.解析:解析:线性表是一种线性结构,数据元素在线性表中的位置只取决于它们自己的序号,即数据元素之间的相对位置是线性的;栈、队列、线性链表实际上也是线性表,故也是线性结构;树是一种简单的非线性结构。13.若 x和 y是程序中的两个整

29、型变量,则下列 if语句中正确的是_。 A.if(x=0)y=1;else y=2; B.if(x=0)then y=1 else y=2 C.if(x=0)y=1 else y=2; D.if x=0 y=1 else y=2;(分数:2.50)A. B.C.D.解析:解析 if.else 语句的格式“if(条件)语句 1 else语句 2”注意语句结束要以分号结尾,对照题中选项可知 A正确。14.若要重载+、=、=和运算符,则必须作为类成员重载的运算符是 A. +和= B. =和 C. =和 D. =和(分数:2.00)A.B.C.D. 解析:15.下列关于虚基类的描述中错误的是 A. 虚

30、基类子对象的初始化由最派生类完成 B. 虚基类子对象的初始化次数与虚基类下面的派生类个数有关 C. 设置虚基类的目的是消除二义性 D. 带有虚基类的多层派生类构造函数的成员初始化列表中都要列出对虚基类构造函数调用(分数:2.00)A.B. C.D.解析:解析 虚基类主要是为了消除在多重继承中的二义性问题。实际上,说某个类是虚基类,并不是该类本身有什么特殊的地方,而是在继承的时候加上 virtual修饰词。虚基类不同于抽象类,虚基类是可以被实例化的,派生类初始化时,必须列出虚基类的构造函数调用。虚基类对象的初始化次数只于对象的多少有关,与类的层次结构是没有关系的。故本题正确答案为 B。16.以下

31、程序的输出结果是_。int x=5;docout-x: while(!x); A. 43210 B. 5 C. 4 D. 无任何输出(分数:2.00)A.B.C. D.解析:解析 先无条件执行一次循环体,前置“-”作用于 x,使得 x先减 1,再输出;由于 x非零,故!x为 false,不再执行循环语句。17.以下程序中,while 循环的循环次数是U /U。main()int i=0;while(i0)if(i1) continue;if(i=5) break;i+;/ A.1 B.10 C.6 D.死循环,不能确定次数(分数:2.00)A.B.C.D. 解析:18.派生类的成员函数不能访问

32、基类的 A. 公有成员和保护成员 B. 公有成员 C. 私有成员 D. 保护成员(分数:2.00)A.B.C. D.解析:解析 本题考查的知识点是:派生类对基类成员的访问。派生类对基类中各成员的访问能力与继承方式无关,其成员不能访问基类中的私有成员,可以访问基类中的公有成员和保护成员。19.在多继承中,公有派生和私有派生对于基类成员在派生类中的可访问性与单继承的规则U /U。 A. 完全相同 B. 完全不同 C. 部分相同 D. 以上都不对(分数:2.00)A. B.C.D.解析:解析 在多继承中,公有派生和私有派生对于基类成员在派生类中的可访问性与单继承的规则完全相同。20.设有以下类的定义

33、:class Ex int x;public:void setx(int t=0);若在类外定义成员函数 setx(),以下定义形式中正确的是 A. void setx(int t). B. void Ex: :setx(int t). C. Ex: :void setx(int t). D. void Ex: :setx().(分数:2.00)A.B. C.D.解析:解析 选项 A可以排除,原因是类的成员函数的定义必须用域作用符:进行限定,选项 C的限定位置不对,函数的类型应在最前面。根据上下文可以指导,setx 为单参成员函数,在定义时也必须指定参数,因此选项 D也可以排除,正确答案为 B

34、。21.将下面类 TestClass中的函数 fun()的对象成员 n值修改为 100的语句应该是U /U。class TcstClasspublic:TestClass(int x)n=x;void SetNum(int n1)n=n1;private:int n;int fun()TestClass*ptr=new TestClass(45);_; A. TestClass(100) B. ptr-SetNum(100) C. SetNum(100) D. ptr-n=100(分数:2.00)A.B. C.D.解析:解析 对象指针存放的是对象的地址,要访问对象指针所指向对象的成员。可以通过

35、两种方式。(*指针).成员,或者是指针-成员。22.适于对动态查找表进行高效率查找的组织结构是U /U。 A. 有序表 B. 分块有序表 C. 三叉排序树 D. 线性链表(分数:2.00)A.B.C. D.解析:解析 适于对动态查找表进行高效率查找的组织结构是三叉排序树。23.数据库技术的根本目标是要解决数据的 A. 存储问题 B. 共享问题 C. 安全问题 D. 保护问题(分数:1.00)A.B. C.D.解析:解析 数据库产生的背景就是计算机的应用范围越来越广泛,数据量急剧增加,对数据共享的要求越来越高。共享的含义是多个用户、多种语言、多个应用程序相互覆盖的使用一些公用的数据集合。在这样的

36、背景下,为了满足多用户、多应用共,享数据的要求,就出现了数据库技术,以便对数据库进行管理。因此,数据库技术的根本目标就是解决数据的共享问题。故选项 B正确。24.设有下列二叉树:(分数:2.00)A.B. C.D.解析:解析 二叉树的遍历分为先序、中序、后序三种不同方式。本题要求中序遍历,其遍历顺序应该为:中序遍历左子树访问根结点中序遍历右子树。按照定义,中序遍历序列是 DBEAFC,故答案为B。25.以下定义数组中错误的是 A. int a10; B. int a2120; C. int a20; D.int a;(分数:2.00)A.B.C. D.解析:解析 考查数组的定义方法。 解题要点

37、 定义一个二维数组时,可以不定义行数,但一定要定义列数,也就是说,选项 C)若写成 int20,则是正确的。 考点链接 数组的下标是从零开始的。26.在数据库设计中,将 E-R图转换为关系模式的过程属于U /U。 A.需求分析阶段 B.逻辑设计阶段 C.概念设计阶段 D.物理设计阶段(分数:2.00)A.B. C.D.解析:解析 数据库设计阶段主要包括儒朱分析、概念设计、逻辑设计和物理设计。其中逻辑设计的主要工作是将 E-R。图转换为关系模式。27.类的析构函数的作用是 A. 一般成员函数的初始化 B. 类的初始化 C. 对象的初始化 D. 删除类创建的对象(分数:2.00)A.B.C.D.

38、解析:解析 析构函数就是用来释放对象的,它的调用完成之后,对象也就消失了,相应的内存空间也被释放了。28.以下程序中,while 循环的循环次数是U /U。main()int i=O;while(i10)if(i1) continue;if(i=5) break;i+; A.1 B.10 C.6 D.死循环,不能确定次数(分数:2.00)A.B.C.D. 解析:29.将:x+y*z 中的“+”用成员函数重载,“*”用友元函数重载应写为U /U。 A. operator+(operator*(y, z) B. x.operator+(operator*(y, z) C. x.operator+(

39、x*(y, z) D. x+(operator*(y, z)(分数:2.00)A.B. C.D.解析:解析 在定义了重载运算符后的函数后,函数 operator+重载了运算符“+”。如果在类以外的其他地方定义了一个函数,在类体中用 friend对该函数进行声明,此函数就称为本类的友员函数。“*”用友元函数重载就是运算符函数不作为成员函数,而把它放在类外,“*”被改写为“operator*”。“+”为成员函数重载,x.operator+。所以 x+y*z被改写为“x.operator+(operator*(y,z)”。30.支持子程序调用的数据结构是U /U。 A.栈 B.树 C.队列 D.二叉

40、树(分数:2.00)A. B.C.D.解析:解析 根据栈的定义,栈是一种限定在一端进行插入与删除的线性表。在主函数调用子函数时,主函数会保持当前状态,然后转去执行子函数,把子函数的运行结果返回到主函数,主函数继续向下执行,这种过程符合栈的特点。所以一般采用栈式存储方式。31.关于下列程序段的描述中,正确的是U /U。#includeiostream.hint fun(int,int);void main()coutfun(1,2)endl;int fun(int x,int y)return X+y; A. 该函数定义正确,但函数调用方式错误 B. 该函数调用方式正确,但函数定义错误 C. 该

41、函数定义和调用方式都正确 D. 该函数定义和调用方式都错误(分数:2.00)A.B.C. D.解析:解析 函数定义的一般形式:类型标识符函数名(形式参数列表)声明部分;语句。函数调用的一般格式:函数名(实参列表)。而“int fun(int,int)”为函数声明,可以不写形参名,只写形参的类型。所以,可以看出函数 fun的定义和调用都是正确的。32.控制格式输入/输出的操作子中,设置域宽的函数是 A. ws B. oct C. setfill(int) D. setw(int)(分数:2.00)A.B.C.D. 解析:解析 本题需要考生记忆一些输入输出控制操作子,oct 为八进制,setfil

42、l 为设置填充符,setw为设置域宽。33.有以下程序#include iostreamusing namespace std;class Complexpublic:Complex (double r=0, double i =0 :re(r) ,im (i) double real() const return re;double imag() const return im;Complex operator + (Complex c constreturn Complex(re+c.re, im+c.im);privane:double re,im;int main Complex a

43、=Complex(1,1)+Complex(5);couta.real()+a.imag() i endlreturn 0;程序执行后的输出结果是 A. 6+6i B. 6+1i C. 1+6i D. 1+1i(分数:2.00)A.B. C.D.解析:解析 本题考核类与对象、运算符重载。运算符“+”在类 Complex中作为成员函数重载,实现两个对象的数据成员的相加。所以 main函数中语句“Complex a =Complex(1, 1) + Complex(5);”的作用相当于“Complex a(1+5, 1);”即对象 a的数据成员 re的值为 6,imag 的值为 1,所以输出为 6+1i。34.有如下函数模板声明:templatetypename TT Max(T a,T b)return(a)b)?a:b;下列对函数模板 Max()的调用中错误的是U /U。 A.Max(3.5,4.5) B.Max(3.5,4) C.Max(double)(3.5,4.5) D.Max(double)(3.5,4)(分数:2.00)A.B. C.D.解析:解析 本题考查的是函数模板的引用。引用模板函数和引用

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

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

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