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

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

1、国家二级( C+)笔试模拟试卷 67及答案与解析 1 下列有关算法的描述中,错误的是 ( )。 ( A)所谓算法是指解题方案的准确而完整的描述 ( B)算法的基本特征有:可行性、确定性、有穷性和拥有足够的情报等 ( C)算法的复杂度主要包括时间复杂度和空间复杂度 ( D)算法的时间复杂度是指执行算法程序所需要的时间 2 下列叙述中,正确的是 ( )。 ( A)线性表是线性结构 ( B)栈与队列是非线性结构 ( C)线性链表是非线性结构 ( D)二叉树是是线性结构 3 栈是限定在一端进行插入 与删除的线性表,那么其组织数据的原则是 ( )。 ( A) FISO ( B) FIFO ( C) LI

2、LO ( D) FILO 4 一个队列的进队列顺序是 1, 2, 3, 4,则出队列顺序为 ( )。 ( A) 4, 3, 2, 1 ( B) 2, 4, 3, 1 ( C) 1, 2, 3, 4 ( D) 3, 2, 1, 4 5 在下列排序方法中,平均时间性能为 O(nlogn)且空间性能最好的是 ( )。 ( A)快速排序 ( B)堆排序 ( C)归并排序 ( D)基数排序 6 采用面向对象技术开发的应用系统的特点是 ( )。 ( A)重用性更强 ( B)运行速度更快 ( C)占用存储量小 ( D)维护更复杂 7 软件生命周期是指 ( )。 ( A)软件产品从提出、实现、使用维护到停止使

3、用退役的过程 ( B)软件产品从提出、实现到使用维护的过程 ( C)软件产品从提出到实现的过程 ( D)软件产品从提出、实现到使用的过程 8 软件需求分析阶段的工作,可以分为 4个方面:需求获取、需求分析、编写需求分析说明书和 ( )。 ( A)阶段性报告 ( B)需求评审 ( C)总结 ( D)都不正确 9 数据库的数据 模型所描述的内容有三个部分,它们是 ( )。 ( A)数据结构、数据操作和数据约束 ( B)概念数据模型、逻辑数据模型和物理数据模型 ( C)现实世界、信息世界和计算机世界 ( D)概念模式、外模式和内模式 10 用树形结构来表示实体之间联系的模型称为 ( )。 ( A)关

4、系模型 ( B)层次模型 ( C)网状模型 ( D)数据模型 11 下列关于 C+与 C语言的关系的描述中, ( )是错误的。 ( A) C语言是 C+语言的一个子集 ( B) C+与 C语言是兼容的 ( C) C+对 C语言 进行了一些改造 ( D) C+和 C语言都是面向对象的 12 以下 4个选项中,属于浮点数常量的是 ( )。 ( A) 0x12 ( B) -1.24E+01 ( C) le0.5 ( D) e-5 13 C+语言中, while循环和 do-while循环的主要区别是 ( )。 ( A) do-while的循环体至少无条件执行一次 ( B) while的循环控制条件比

5、 do-while的循环控制条件严格 ( C) do-while允许从外部转到循环体内 ( D) do-while的循环体不能是复合语句 14 设有以下语句,对 a数组元素的引用中 (其中 0 =i 10),不正确的是 ( )。 int a10=0, 1, 2, 3, 4, 5, 6, 7, 8, 9), *p=a; ( A) ap-a ( B) *( int main () int i=1, n=0; char s80,*p; p=s; strcpy(p,“It is a book“); for (; *p != 0 ;p+) if(*p=) i=0; else if (i=0) n+; i

6、=1; cout “n=“ n end1; return 0; ( A)统计字符串中的单词个数 ( B)统计字符串中的空格个数 ( C)统计字符串中的字母个数 ( D)统计字符串中的全部字符个数 22 请选出以下程序段的输出结果 ( )。 #include iostream using namespace std; #define MIN(x,y) (x) (y) ?(x) : (y) int main () int i,j,k; i=10; j=15; k=10*MIN(i,j); cout k end1; return 0; ( A) 15 ( B) 100 ( C) 10 ( D) 15

7、0 23 若有以下程序: #include iostream using namespace std; void sub(int x,int y, int *z) *z = y+x; int main() int a,b, c; sub (8,4, sub (6, a, sub(a,b, cout a “, “ b “, “ c end1; return 0; 程序运行后的输出结果是 ( )。 ( A) 12,18,30 ( B) -12,6,8 ( C) 6,8,10 ( D) 12,-18,16 24 以于下面定义的类 MyClass, 在函数 f()中将对象成员 n的值修改为 50的语句

8、应该是 ( )。 class MyClass public: MyClass (int x) n=x; void SetValue(int n1) n=n1; private: int n; ; int f() MyClass *ptr = new MyClass(45); _; ( A) MyClass(50) ( B) SetValue (50) ( C) ptr- SetValue(50) ( D) ptr- n=50 25 若有以下程序: #include iostream using namespace std; class myClass private: int var; pub

9、lic: myClass(int i) var=i; void add() s+=var; static int s; void display() cout send1; ; int myClass:s=0; int main ( ) myClass a(1),b(2),c(3); a.add(); b.add(); c.dislay(); return O; 程序执行后的输出结果是 ( )。 ( A) 1 ( B) 4 ( C) 3 ( D) 7 26 有以下程序: #include iostream #include math using namespace std; class poi

10、nt private: double x; double y; public: point(double a,double b) x=a; y=b; friend double distance(point a,point b) ; ; double distance(point a,point b) return sqrt (a.x-b.x)* (a.x-b.x)+(a.y-b.y)*(a.y-b.y); int main ( ) point pl(1,2); point p2 (5, 2); cout distance (pl,p2) end1; return 0; 程序运行后的输出结果是

11、 ( )。 ( A) 1 ( B) 5 ( C) 4 ( D) 6 27 若有以下程序: #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 mai

12、n () 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 28 若有以下程序: #include iostream using namespace std; class Base private: int a,b; public: Base(int x, int y) a=x; b=y; void show() cout a “, “ b end1; ; class Derive : public Base private:

13、 int c, d; public: Derive(int x, int y, int z,int m):Base(x,y) c=z; d=m; void show() cout c “, “ d end1; ; int main ( ) Base b(50,50) ,*pb; Derive d(10,20,30,40); pb= pb- show ); return 0; ( A) 10,20 ( B) 30,40 ( C) 20,30 ( D) 50,50 29 有如下 程序: #include iostream using namespace std; class shapes prot

14、ected: int x, y; public: void setvalue(int d, int w=O) x=d; y=w; virtual void disp()=O; ; class square : public shapes public: void disp () cout x*y end1; ; int main ( ) shapes *ptr; square s1; ptr= ptr- setvalue (10, 5) ;ptr- disp(); return 0; 执行上面的程序将输出 ( )。 ( A) 50 ( B) 5 ( C) 10 ( D) 15 30 在进行了任

15、何 C+流的操作后,都可以用 C+流的有关成员函数检测流的状态,其中只能用于检测刚进行的操作是否失败函数名是 ( )。 ( A) fail ( B) eof ( C) bad ( D) good 31 栈和队列通常采用的存储结构是【 】。 32 在程序设计阶段应该采取【 】和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。 33 软件结构是以【 】为基础而组成的一种控制层次结构。 34 数据库系 统阶段的数据具有较高独立性,数据独立性包括物理独立性和【 】两个含义。 35 数据库保护分为安全性控制【 】、并发性控制和数据的恢复。 36 C+语言

16、中关键字运算符有 new, delete和【 】。 37 将以下程序写成三日运算表达式是【 】。 if(a b)max=a; else max=b; 38 以下程序的输出结果是【 】。 #include iostream h class object private: int val; public: object(); object(int i); object(); ; object object() val=0; cout “Default constructor for object“ endl; object object(int i) val=i; cout “Constmctor

17、 for object“ val endl; object object() cout “Destructor for object“ val endl; class containet private: object one; object two; int data: public: containet(); container(int i, int j, int k); container(); ; container contalner() dara=0; cout “Default constructor for container“ endl; container containe

18、r(int i, int j, int k): two(i), one(j) data=k; cout “Constmctor for container“ endl; containet container() cout “Destmctor for container“ endl; void main() container anObj(5, 6, 10); 39 请定义一个函数名为 A,返回 值为 int,没有参数的纯虚函数的定义是【 】。 40 表达式 x.operator+(y operator+(0)还可以写成【 】。 41 假设 fin是一个文件流对象,则关闭文件的语句是【 】。

19、 42 对虚函数的调用有两种方式:【 】和【 】。 国家二级( C+)笔试模拟试卷 67答案与解析 1 【正确答案】 D 【试题解析】 算法的时间复杂度是指算法执行过程中所需要的基本运算次数。 2 【正确答案】 A 【试题解析】 一个线性结构需要满足以下两个条件:一是有且只 有一个根节点,二是每个节点最多有一个前件,也最多有一个后件。选项中的线性表、栈与队列、线性链表都满足这两个条件,所以它们都是线性结构,而二叉树虽然只有一个根节点,但它的每个节点可以有两个子树,不满足线性结构的每个节点最多有一个前件,也最多有一个后件这一条件。所以它不是线性结构。 3 【正确答案】 D 【试题解析】 栈中的栈

20、顶元素总是最后被插入的元素,也是最先被删除的元素。所以栈是按照 FILO,即 “先进后出 ”的原则组织数据的。 4 【正确答案】 C 【试题解析】 队列是指允许在一端进行插入 ,而在另一端进行删除的线性表。因此队列又称为先进先出的线性表。答案为 C。 5 【正确答案】 B 【试题解析】 堆排序先把序列看成一棵大根堆或小根堆,摘取最大或最小元素后再建成新的根堆,再排序。因此它的平均时间性能为 O(nlogn)且空间性能最好。 6 【正确答案】 A 【试题解析】 面向对象方法具有很多其他方法不具备的特点,比如多态、继承等。这些特点都决定了面向对象方法支持软件复用。对象类可以派生出新类,类可以产生实

21、例对象,从而实现了对象类数据结构和操作代码的软构件复用。可重用性是面向对 象思想的一个重要特征。 7 【正确答案】 A 【试题解析】 软件生命周期是一个重要概念,考生应很好掌握。它是指软件产品从提出、实现、使用维护到停止使用退役的整个过程。一般包括可行性研究与需求分析、设计、实现、测试、交付使用以及维护等活动。 8 【正确答案】 B 【试题解析】 本题考核软件需求分析的 4个阶段,分别为需求获取、需求分析、编写需求分析说明书和需求评审。 9 【正确答案】 A 【试题解析】 数据模型是数据特征的抽象,它所描述的内容有三个部分,它们是数据结构、数据操作和数 据约束。 10 【正确答案】 B 【试题

22、解析】 本题考核几种数据模型的表示方法。其中,关系模型采用二维表来表示,简称表:层次模型用树形结构来表示:网状模型是一个不加任何限制的无向图。 11 【正确答案】 D 【试题解析】 C+语言起源于 C语言。 C+是 C语言的超集,即 C语言是 C+语言的一个子集,同时 C+语言与 C语言是兼容的。 C+对 C语言作了很多改进,引进了类和对象的概念。但是 C语言是面向过程而不是面向对象的。 12 【正确答案】 B 【试题解析】 C+语言中的浮点数常 量分为整数部分和小数部分,一个浮点数常量可以用科学计数法和通常的十进制数表示法: 在十进制数表示法中,浮点数常量由整型、小数点和小数 3部分组成,其

23、中整数部分或小数部分可以没有,如 12, 0.9等。 在科学计数表示法中,浮点常量是由尾数、字母 e或 E 和指数 3部分组成,其中,尾数部分可以是十进制整型常量,或属于第一种形式的实数,指数部分则是十进制的短整型常量,如 10e2、 1.432e2、 0.4e-5等。 观察所给出的 4个选项,选项 A是一个十六进制的整型常量;选项 C的指数部分不是整型常量;选项 D中在前面无整数。所以选项 A、 C、 D都不符合上述形式。 13 【正确答案】 A 【试题解析】 本题考核 C+语言中 while循环和 do-while循环之间的区别。 do-while语句与 while语句不同的是, do-w

24、hile循环中的语句至少会执行一次,而 while语句中当条件在第一次循环就不满足时,语句一次也不会执行。 14 【正确答案】 D 【试题解析】 选项 A中, p为指针,数组名 a代表数组的首地址,所以 p-a就是指针到数组首地址的偏移量。 选项 B中, &ai是取数组 a中第 i个元素的地址,而对于 *(&ai),由指针运算符 *的运算规则可知,语句 “*(&ai)”就是返回地址 &ai空间中存放的值,也即 ai选项 C,由于指针 p 已指向数组 a,所以 pi就等于 ai。这是常用的一种数组元素引用方式。 选项 D是以指针方式对数组元素进行引用,由于 a只是代表数组的首地址,并不是指针,所

25、以表达式 *(*(a+i)是错误的,正确的引用应该为: *(*(p+i)。 15 【正确答案】 D 【试题解析】 本题考查函数的函数参数默认值。 C+语言中,允许在函数的说明或定义 时给一个或多个参数指定默认值。参数默认值必须从右向左定义,即在一个指定了默认值的参数的右边,不能出现没有指定默认值的参数。 16 【正确答案】 A 【试题解析】 在 C+中,成员函数可以是内联函数,也可以是非内联函数。在类定义体内定义和实现的函数都是内联函数。在类定义体外实现的函数可以通过在函数说明和定义上分别加上 inline来表示该函数是内联函数,否则就不是内联函数。 17 【正确答案】 D 【试题解析】 在

26、C+中,析构函数名为符号 “ ”加类名,析构函数没有参数和返回值。根据以上知识 可知, MyClass类的正确析构函数的说明为 MyClass()。 18 【正确答案】 D 【试题解析】 基类与派生类的关系如下: 基类是对派生类的抽象,派生类是对基类的具体化。基类抽取了它的派生类的公共特征,而派生类通过增加信息将抽象的基类变为某种有用的类型,派生类是基类定义的延续。 派生类是基类的组合。 公有派生类的对象可以作为基类的对象处理。 由此可知选项 A、 B和 C都是正确的。而在继承中,采用不同的继承方式,将限制派生类对基类成员的访问。所以选项 D是错误的。 19 【正确答案】 A 【试题解析】 本

27、题考核纯虚函数和抽象类的定义。 基类的虚函数有时候不可能被调用到,这时可定义该虚函数为纯虚函数。纯虚函数没有函数体,但一定要进行说明,它告诉编译器,它的具体实现在派生类中。所以选项 A的说法是错误的。 抽象类是指至少有一个纯虚函数的类。它往往表示一些抽象的概念,它的成员函数没有什么意义。所以选项 B 的描述是正确的。 抽象类是一种特殊的类,它是为了抽象和设计的目的而建立的,它处于继承层次结构的上层。抽象类的主要作用是将有关的类组织在一个继承层 次结构中,由它来为它们提供一个公共的根,相关的子类是从这个根派生出来的。 对于抽象类的使用有几点规定:抽象类只能用作其他类的基类,不能建立抽象类对象。抽

28、象类不能用作参数类型、函数返回类型或显式转换的类型。可以说明指向抽象类的指针和引用,此指针可以指向它的派生类,进而实现多态性。 由此可知选项 C和 D的描述是正确的。 20 【正确答案】 A 【试题解析】 C+中, “:、 *、 ?: ”这 4个运算符不能重载。 21 【正确答案】 B 【试题解析】 本题通过 for循环对字符串进行扫 描,遇到 0结束扫描。程序首先将 i的值置为 1, n的值置为 0。在 for循环中,通过 if语句判断 *p 指向的字符是否为空格,如果是空格则将 i的值置为 0,而在 else if语句,如果 i的值为 0,则n+,然后将 i的值重新置为 1。如此反复,最后

29、统计出字符串中的空格个数。 22 【正确答案】 A 【试题解析】 本题考查对宏定义的掌握程度。本题最常见的错误就是想当然地先把 i、 j代入 MIN(i,j),得到值 10,然后在计算表达式 k=10*10=100,得到答案100。其实不然,在使用宏替换时,应该充分理解宏 替换仅是简单地用所说明的字符串来替代对应的标识符。所以,应当先把宏定义代入到表达式 k=10*MIN(i,j)中,得到: k =10*10 15?10: 15,再按照运算符的优先级和结合性计算,最后得到 k=15。 23 【正确答案】 A 【试题解析】 本题考核对指针作为函数的参数的理解程度。分析程序: 函数 sub()为

30、void型。函数的形参中, z是一个血型的指针变量,因此它只能从实参接收一个血型变量的地址。 在函数 sub()体中,语句: “*z=y+x; ”的功能是把形参 y与 x的和值放入形参 z所指的存储单元中。 在主函数中, 3次调用 sub()函数。第一次调用时,把 8和 4分别传递给形参 x和 y,把主函数中变量 a的地址传递给形参 z,这样形参就指向了主函数中的变量a,在 sub 函数中执行语句 “*z=y+x; ”后,把 12放入 z所指的存储单元中,即变量 a被赋值 12。以此类推,最后 b被赋值 18, c被赋值 30。所以最后输出是 12,18, 30。 24 【正确答案】 C 【试

31、题解析】 本题考核对象指针的使用。函数 f()中,首先定义了一个对象指针ptr,并初始化指向申请的一块内存。在 C+中,通过对 象指针访问其成员,要用“- ”符号,由此可知,选项 A和 B 是错误的。对于选项 D,由于变量 n是MyClass类的私有成员,所以不能通过对象进行直接调用。因此选项 D也是错误的。选项 C中,采用了 “- ”符号调用 MyClass 类的公有成员函数 SetValue(),并且传入的实参是 50,都符合语法规定,所以能实现题目所要求的功能。故本题答案是 C。 25 【正确答案】 C 【试题解析】 本题考核静态数据成员的应用。解本题的关键是知道静态数据成员类中所有对象

32、共享的成员。每个对象对静态数据成员的操作具有叠加效果。本 题在类 myClass中定义了一个静态数据成员 s,其初始值为 0。定义了 3个对象 a、 b和 c,并分别初始化各自的私有成员 n 为 1、 2和 3。执行 “a.add(); ”语句后,静态数据成员 s=1。再执行语句 “b.add(); ”后, s的值变为 3。最后执行输出语句“c.display(); ”,即输出 s的值 7。 26 【正确答案】 C 【试题解析】 本题考核友元函数的应用。分析程序: 类 point中定义了两个私有成员 x和 y,以及一个友元函数 distance()。从而,函数 distance可以访问类 po

33、int中的任何成员。 在函数 distance()中,返回值为 sqrt(a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)。由此可知,函数 distance()的功能是计算 a、 b 两点之间的距离。 在主函数中,先定义两点: p1(1, 2)和 p2(5, 2)。然后调用函数 distance()计算两点之间的距离为 4,所以程序最后输出为 4。 27 【正确答案】 C 【试题解析】 本题考核派生类的构造函数。在 C+中,构造函数不能被继承,因此,派生类的构造函数必须通过调用基类 的构造函数宋初始化基类子对象。所以,在定义派生类的构造函数时,除了对自己的数据成员进

34、行初始化外,还必须负责调用基类构造函数,使基类的数据成员得以初始化。如果派生类中还有子对象,还应包含对子对象初始化的构造函数。本题中,在派生类 B的构造函数中,调用基类 A的构造函数对基类 A的数据成员 x1 进行了初始化。 28 【正确答案】 A 【试题解析】 本题考核基类指针的使用。本题首先定义了一个基类 Base和一个由 Base派生出来的派生类 Derive。在主函数中,定义了一个基类 Base指针吵和基类对象 b,还定义了 派生类 Derive的对象 do 然后将派生类对象 d的地址赋值给指向基类 Base的指针 pb。由于 Derive是 Base的子类型,因此允许上述赋值。但这时

35、指针 pb只能使用从基类 Base继承的成员,即当 pb指向 d 对象时, pb-show 还是调用基类 Base的成员函数 show()。所以程序最后输出的是对象 d中对基类成员的初始化值,即 10,20。 29 【正确答案】 A 【试题解析】 本题中基类 shapes 是一个抽象类 (拥有纯虚函数 disp()。在主函数中定义了抽象类的对象指针 ptr,并给它赋值派生类 square的对象 s1,然后进行赋值和输出的操作。 30 【正确答案】 A 【试题解析】 C+中可以用文件流对象的下列成员函数来判别文件流的当前状态。 函数 is open():判定流对象是否与一个打开的文件相联系,若是

36、,返回 true,否则返回 false。 函数 good():刚进行的操作成功时返回 true,否则返回 false。 函数 fail():与 good()相反,刚进行的操作失败时返回 true,否则返回 false。 函数 bad():如果进行了非法操作返回 true,否则返 回 false。 函数 eof():进行输入操作时,若到达文件尾返回 true,否则返回 false。 其中, eof 函数只能用于输入流操作。 31 【正确答案】 链式存储和顺序存储 【试题解析】 栈和队列都属于线性表,它们一般采用顺序存储结构,也可以对它们采用链式存储结构。注意:栈、数组、表采用的存储结构,各种存储

37、结构的定义和区别。 32 【正确答案】 自顶而下 33 【正确答案】 模块 【试题解析】 采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解,模块化使得 软件容易测试和调试,因而有利于提高软件的可靠性,也有利于软件的组织管理,大型程序可由不同的程序员编写不同的模块,并且可以进一步分配技术熟练的程序员编写困难的部分。注意:软件结构的定义,模块操作其他的所有特点。 34 【正确答案】 逻辑独立性 【试题解析】 数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。数据独立性一般分为物理独立性与逻辑独立性两个含义。注意:在人工管理阶段,文件系统阶段和数据库

38、管理阶段中数据独立性的特点。 35 【正确答案】 完整性控制 【试题解析】 安全性控制:防止未经授权的用户有意或无意存取数据库中的数据,以免数据被泄露、更改或破坏;完整性控制:保证数据库中数据及语义的正确性和有效性防止任何对数据造成错误的操作;开发控制:正确处理好多用户、多任务环境下的开发操作,防止错误发生;恢复:当数据库被破坏或数据不正确时,使数据库能恢复到正确的状态。注意:数据库的其他用途,如数据定义、数据操作和数据管理等。 36 【正确答案】 sizeof 【试题解析】 C+语言中关键字运算符有 3个分别 new, delete和 sizeof。 new是申请内存, delete是释放内

39、存, si zeof 是求字节数。 37 【正确答案】 max=(a b)?a: b; 【试题解析】 条件运算符要求有三个操作对象,称三目 (元 )运算符,它是 C+语言中惟一的一个三目运算符。条件表达式的一般形式为:表达式 1?表达式 2:表达式 3。所以我们可以写成 (a b)?a: b,它是一个 “条件表达式 ”。执行顺序是如果 (a b)条件为真,则条件表达式取值 a作为整个表达式的值,否则取值 b作为整个表达式的值。 38 【正确答案】 Constructor for object6 Constructor for object5 Constructor for container

40、Destructor for container Destructor for object5 Destructor for objcet6 【试题解析】 C+语言中的构造函数和析构函数分别是在声明对象时和对象调用完毕后凋用,本题中的调用就是这样成对出现的。 39 【正确答案】 virtual int A()=0; 【 试题解析】 C+语言中的纯虚函数是一种特殊的函数,它没有自己的定义,只有声明,纯虚函数与虚函数声明的不同就在于在函数后面加上了 “=0”。 40 【正确答案】 x+y+或 x+(y+) 【试题解析】 因为 y operator+(0)是对成员 y重载运算符,所以是成员重载,在参数表中又有一个参数,是重载后缀 +,即是 x+(y +)。 41 【正确答案】 fin 【试题解析】 如果程序没有用 close()主动关闭文件,则在文件流对象退出作用域时,被调用的析构函数会关闭对象所联系的文件。但 应及时关闭,以便尽早释放占用的系统资源并将文件置于更安全的状态。 42 【正确答案】 非多态调用 多态调用 【试题解析】 C+中调用虚函数的两种方式为非多态调用和多态调用。

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

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

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