【计算机类职业资格】二级C++模拟485及答案解析.doc

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

1、二级 C+模拟 485 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.下列叙述中正确的是_。(分数:1.00)A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D.线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性2.下列叙述中正确的是_。(分数:1.00)A.栈是一种先进先出的线性表B.队列是一种后进先出的线性表C.栈与队列都是非线性结构D.以上三种说法都不对3.软件测试的目的是_。(分数:

2、1.00)A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误4.在软件开发中,需求分析阶段产生的主要文档是_。(分数:1.00)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书5.软件生命周期是指_。(分数:1.00)A.软件产品从提出、实现、使用维护到停止使用退役的过程B.软件从需求分析、设计、实现到测试完成的过程C.软件的开发过程D.软件的运行维护过程6.面向对象方法中,继承是指_。(分数:1.00)A.一组对象所具有的相似性质B.一个对象具有另一个对象的性质C.各对象之间的共同性质D.类之间共享属性和操作的机制7.层次型、网状

3、型和关系型数据库划分原则是_。(分数:1.00)A.记录长度B.文件的大小C.联系的复杂程度D.数据之间的联系方式8.一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是_。(分数:1.00)A.一对一B.一对多C.多对多D.多对一9.数据库设计中反映用户对数据要求的模式是_。(分数:1.00)A.内模式B.概念模式C.外模式D.设计模式10.有三个关系 R、S 和 T 如下: R A B C a 1 2 b 2 1 c 3 1 S A B C a 1 2 b 2 1 T A B C c 3 1 则由关系 R 和 S 得到关系 T 的操作是_。(分

4、数:1.00)A.自然连接B差C交D并11.下列符号中能够作为 C+标识符的是_。(分数:1.00)A.constB.2aC._shapeD._count12.已知枚举类型声明语句为: enum COLOR WHITE, YELLOW, GREEN=5, RED, BLACK=10; 则下列说法中错误的是_。(分数:1.00)A.枚举常量 YELLOW 的值为 1B.枚举常量 RED 的值为 6C.枚举常量 BLACK 的值为 10D.枚举常量 WHITE 的值为 113.执行下列语句段后,输出字符“*”的个数是_。 for(int i=50; i1; i-=2) cout“*“:(分数:1.

5、00)A.24B.25C.26D.5014.有如下定义: int a5=1, 3, 5, 7, 9, *P=a; 下列表达式中不能得到数值 5 的是_。(分数:1.00)A.a2B.a3C.*(P+2)D.*P+415.下列语句中错误的是_。(分数:1.00)A.const int a;B.const int a=10;C.const int *point=0;D.const int *point=new int(10);16.已知函数 FA 调用函数 FB,若要把这两个函数定义在同一个文件中,则_。(分数:1.00)A.FA 必须定义在 FB 之前B.FB 必须定义在 FA 之前C.若 FA

6、 定义在 FB 之后,则 FA 的原型必须出现在 FB 的定义之前D.若 FB 定义在 FA 之后,则 FB 的原型必须出现在 FA 的定义之前17.下列关于运算符函数的描述中,错误的是_。(分数:1.00)A.运算符函数的名称总是以 operator 为前缀B.运算符函数的参数可以是对象C.运算符函数只能定义为类的成员函数D.在表达式中使用重载的运算符相当于调用运算符重载函数18.为了提高函数调用的实际运行速度,可以将较简单的函数定义为_。(分数:1.00)A.内联函数B.重载函数C.递归函数D.函数模板19.若要对 Data 类中重载的加法运算符成员函数进行声明,下列选项中正确的是_。(分

7、数:1.00)A.Data+(Data);B.Data operator+(Data);C.Data+operator(Data);D.operator+(Data, Data);20.已知函数 f 的原型是 void f(int*a, long ,变量 v1、v2 的定义是: int v1; long v2; 下列调用语句中正确的是_。(分数:1.00)A.f(v1, B.f(v1, v2);C.f(D.f(21.已知 Value 是一个类,value 是 Value 的一个对象。下列以非成员函数形式重载的运算符函数原型中,正确的是_。(分数:1.00)A.Value operator+(V

8、alue v, int i);B.Value operator+(Value v=value, int i);C.Value operator+(Value v, int i=0);D.Value operator+(Value v=value, int i=0);22.下列关于运算符重载的描述中,正确的是_。(分数:1.00)A.运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符B.一元运算符只能作为成员函数重载C.二元运算符重载为非成员函数时,参数表中有一个参数D.C+中可以重载所有的运算符23.下列有关类成员的叙述中,正确的是_。(分数:1.00)A.友元函数是类的成员函数B.

9、类成员的默认访问权限是私有的C.类成员函数必须声明为公有的D.类的静态数据成员不能是常成员24.有如下类定义: class Point private: static int how_many; ; _how_many=0; 要初始化 Point 类的静态成员 how_many,下画线处应填入的内容是_。(分数:1.00)A.intB.static intC.int Point:D.static int Point:25.有如下头文件: int f1(); static int f2(); class MA public: int f3(); static int f4(); ; 在所描述的函

10、数中,具有隐含的 this 指针的是_。(分数:1.00)Af1Bf2Cf3Df426.下列有关类继承的叙述中,错误的是_。(分数:1.00)A.继承可以实现软件复用B.虚基类可以解决由多继承产生的二义性问题C.派生类构造函数要负责调用基类的构造函数D.派生类没有继承基类的私有成员27.在下列关键字中,不能用来表示继承方式的是_。(分数:1.00)A.privateB.staticC.publicD.protected28.有如下两个类定义: class XX private: double x1; protected: double x2; public: double x3; ; clas

11、s YY: protected XX private: double y1; protected: double y2; public: double y3; ; 在类 YY 中保护成员变量的个数是_。(分数:1.00)A.1B.2C.3D.429.有如下类定义: class MyClass int value; public: MyClass(int n): value(n) int getValue()const return value; ; 则类 MyClass 的构造函数的个数是_。(分数:1.00)A.1 个B.2 个C.3 个D.4 个30.有如下类和对象的定义: class C

12、onstants public: static double getPI() return 3.1416; ; Constants constants; 下列各组语句中,能输出 3.1416 的是_。(分数:1.00)A.coutConstants-getPI();和 coutConstants:getPI();B.coutConstants. getPI();和 coutConstants. getPI();C.coutconstants-getPI();和 coutConstants-getPI();D.coutconstants. getPI();和 coutConstants:getP

13、I();31.有如下程序: #includeiostream using namespace std; class VAC public: int f()const return 3; int f() return 5; ; int main() VAC vl; const VAC v2; coutv1. f()v2. f(); return 0; 执行这个程序的输出结果是_。(分数:1.00)A.53B.35C.55D.3332.有如下程序: #includeiostream using namespace std; class MyClass public: MyClass(int i=0

14、) cout1; MyClass(const MyClass MyClass return*this; MyClass() cout4; ; int main() MyClass obj1(1), obj2(2), obj3(obj1); return 0; 执行这个程序的输出结果是_。(分数:1.00)A.112444B.11114444C.121444D.1131444433.有如下类声明: class Base protected: int amount; public: Base(int n=0): amount(n) int getAmount()const return amoun

15、t; ; class Derived: public Base protected: int value; public: Derived(int m, int n): vahle(m), Base(f1) int getData()const return value+amount; ; 已知 x 是一个 Derived 对象,则下列表达式中正确的是_。(分数:1.00)A.value+x. getAmount()B.getData()-x. getAmount()C.getData()-x. amountD.value+x. amount34.有如下程序: #includeiostream

16、 using namespace std; class AA int k; protected: int n; void setK(int k) this-k=k; public: void setN(int n) this-n=n; ; class BB: public AA /*类体略*/; int main() BB x; x. n=1:/1 x. setN(2);/2 x. k=3:/3 x. setK(4);/4 return 0; 在标注号码的四条语句中正确的是_。(分数:1.00)A.1B.2C.3D.435.有如下程序: #includeiostream using names

17、pace std; class Base int x; public: Base(int n=0): x(n) coutn; int getX()const return x; ; class Derived: public Base int y; public: Derived(int m, int n): y(m), Base(n) coutm; Derived(int m): y(m) coutm; ; int main() Derived d1(3), d2(5, 7); return 0; 执行这个程序的输出结果是_。(分数:1.00)A.375B.357C.0375D.035736

18、.有如下程序: #includeiostream using namespace std; class GA public: virtual int f() return 1; ; class GB: public GA public: virtual intf() return 2; ; void show(GA g) coutg. f(); void display(GA int main() GA a; show(a); display(a); GB b; show(b); display(b); return 0; 执行这个程序的输出结果是_。(分数:1.00)A.1111B.1211

19、C.1112D.121237.下列有关模板的叙述中,正确的是_。(分数:1.00)A.函数模板不能含有常规形参B.函数模板的一个实例就是一个函数定义C.类模板的成员函数不能是模板函数D.用类模板定义对象时,绝对不能省略模板实参38.下面是一个模板声明的开始部分: templatetypename Tdouble 由此可知_。(分数:1.00)A.这可能是一个函数模板的声明B.这可能是一个类模板的声明C.这既可能是一个函数模板的声明,也可能是一个类模板的声明D.这肯定是一个错误的模板声明39.C+系统预定义了 4 个用于标准数据流的对象,下列选项中不属于此类对象的是_。(分数:1.00)A.co

20、utB.cinC.cerrD.cset40.下列语句都是程序运行时的第 1 条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是_。(分数:1.00)A.coutinternal12345;B.coutleft12345;C.coutright12345;D.coutsetw(6)12345;二、基本操作题(总题数:1,分数:18.00)41.请使用 VC6 或使用答题菜单打开 proj1 下的工程 proj1。程序中位于每个“/ERROR *found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为: Name: Smith Age: 21 ID: 99999 Cou

21、rseNum: 12 Record: 970 注意:只修改每个“/ERROR *found*”下的那一行,不要改动程序中的其他内容。 #includeiostream using namespaee std; class StudentInfo protected: /ERROR *found* char Name; int Age; int ID; int CourseNum; float Record; public: StudentInfo(char*name, int Age, int ID, int courseNum, float record); /ERROR *found* v

22、oid StudentInfo() float AverageRecord() return Record/CourseNum; void show()const cout“Name:“Name“Age:“Age“ID:“ID “CourseNum:“CourseNum“Record:“Recordendl; ; /ERROR *found* StudentInfo StudentInfo(char*Name, int Age, int ID, int CourseNum, float Record) Name=name; Age=age; this-ID=ID: CourseNum=cour

23、seNum; Record=record; int main() StudentInfo st(“Smith“, 21,99999, 12,970); st. show(); return 0; (分数:18.00)_三、简单应用题(总题数:1,分数:24.00)42.请使用 VC6 或使用答题菜单打开 proj2 下的工程 proj2,其中定义了 vehicle 类,并派生出motorcar 类和 bicycle 类。然后以 motorcar 和 bicycle 作为基类,再派生出 motorcycle 类。要求将vehicle 作为虚基类,避免二义性问题。请在程序中的横线处填写适当的代码并

24、删除横线,以实现上述类定义。此程序的正确输出结果应为: 80 150 100 1 注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“/*found*”。 #includeiostream. h class vehicle private: int MaxSpeed; int Weight; public: /*found* vehicle(int maxspeed, int weight):_ vehicle() ; int getMaxSpeed() return MaxSpeed; int getWeight() return Weight; ; /*found

25、* class bicycle:_public vehicle private: int Height; public: bicycle(int maxspeed, int weight, int height): vehicle(maxspeed, weight), Height(height) int getHeight() return Height; ; /*found* class motorcar:_public vehicle private: int SeatNum; public: motorcar(int maxspeed, int weight, int seatnum)

26、: vehicle(maxspeed, weight), SeatNum(seatnum) int getSeatNum() return SeatNum; ; /*found* class motorcycle:_ public: motorcycle(int maxspeed, int weight, int height): vehicle(maxspeed, weight), bicycle(maxspeed, weight, height), motorcar(maxspeed, weight, 1) ; void main() motorcycle a(80, 150, 100);

27、 couta. getMaxSpeed()endl; couta. getWeight()endl; couta. getHeight()endl; couta. getSeatNum()endl; (分数:24.00)_四、综合应用题(总题数:1,分数:18.00)43.请使用 VC6 或使用答题菜单打开 proj3 下的工程 proj3,其中声明的 CDeepCopy 是一个用于表示矩阵的类。请编写这个类的赋值运算符成员函数 operator=,以实现深层复制。 要求: 补充编制的内容写在“/*333*”与“/*666*”之间。不得修改程序的其他部分。 注意:程序最后将结果输出到文件 ou

28、t. dat 中。输出函数 writeToFile 已经编译为 obj 文件,并且在本程序中调用。 /CDeepCopy. h #icloudeiostream #includestring using namespace std; class CDeepCopy public: int n;/动态数组的元素个数 int *P;/动态数组首地址 CDeepCopy(int); CDeepCopy(); CDeepCopy/赋值运算符函数 ; void writeToFile(char *); /main. cpp #include“CDeepCopy. h“ CDeepCopy:CDeepCo

29、py() deleteP; CDeepCopy:CDeepCopy(int k) n=k; P=new intn;/构造函数实现 CDeepCopy a. p0=1; d. p0=666;/对象 a, d 数组元素的赋值 CDeepCopy b(3);/调用赋值运算符函数 a. p0=88; b=a; coutb. p0;/显示内层局部对象的数组元素 coutd. p0;/显示 d 数组元素 a. p0的值 cout“d fade away;/n“; couta. p0;/显示 a 数组元素 a. p0的值 writeToFile(“ “); return 0; (分数:18.00)_二级 C

30、+模拟 485 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.下列叙述中正确的是_。(分数:1.00)A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D.线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性解析:解析 线性链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以一般要多于顺序存储结构。2.下列叙述中正确的是_。(分数:1.00)A.栈是一种先进先出的线性表B.队

31、列是一种后进先出的线性表C.栈与队列都是非线性结构D.以上三种说法都不对 解析:解析 栈是一种先进后出的线性表,队列是一种先进先出的线性表,栈与队列都是线性结构。3.软件测试的目的是_。(分数:1.00)A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误 解析:解析 软件测试是为了发现错误而执行程序的过程,测试要以查找错误为中心,而不是为了演示软件的正确功能。不是为了评估软件或改正错误。4.在软件开发中,需求分析阶段产生的主要文档是_。(分数:1.00)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书 解析:解析 需求分析阶段的工作

32、可以概括为:需求获取、需求分析、编写需求规格说明书、需求评审四个方面。所以选择 D。5.软件生命周期是指_。(分数:1.00)A.软件产品从提出、实现、使用维护到停止使用退役的过程 B.软件从需求分析、设计、实现到测试完成的过程C.软件的开发过程D.软件的运行维护过程解析:解析 通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。6.面向对象方法中,继承是指_。(分数:1.00)A.一组对象所具有的相似性质B.一个对象具有另一个对象的性质C.各对象之间的共同性质D.类之间共享属性和

33、操作的机制 解析:解析 继承是面向对象的方法的一个主要特征,是使用已有的类的定义作为基础建立新类的定义技术。广义的说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们,所以说继承是指类之间共享属性和操作的机制。7.层次型、网状型和关系型数据库划分原则是_。(分数:1.00)A.记录长度B.文件的大小C.联系的复杂程度D.数据之间的联系方式 解析:解析 层次模型的基本结构是树形结构,网状模型是一个不加任何条件限制的无向图,关系模型采用二维表来表示,所以三种数据库的划分原则是数据之间的联系方式。8.一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的

34、联系是_。(分数:1.00)A.一对一B.一对多C.多对多 D.多对一解析:解析 因为一个人可以操作多个计算机,而一台计算机又可以被多个人使用,所以两个实体之间是多对多的关系。9.数据库设计中反映用户对数据要求的模式是_。(分数:1.00)A.内模式B.概念模式C.外模式 D.设计模式解析:解析 数据库系统的三级模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述,所以选择 C。内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法。10.有三个关系 R、S 和

35、T 如下: R A B C a 1 2 b 2 1 c 3 1 S A B C a 1 2 b 2 1 T A B C c 3 1 则由关系 R 和 S 得到关系 T 的操作是_。(分数:1.00)A.自然连接B差 C交D并解析:解析 关系 T 中的元组是 R 关系中有而 S 关系中没有的元组的集合,所以进行的是差的运算。11.下列符号中能够作为 C+标识符的是_。(分数:1.00)A.constB.2aC._shape D._count解析:解析 本题考查 C+标识符的命名规则,其规则有如下几点:所有标识符必须由字母、数字或下画线组成,且必须由字母或下画线开头;所有标识符不能使用 C+已有的

36、关键字;大、小写字母表示不同意义,即代表不同的标识符。选项 A 是关键字,选项 B 不能以数字开头,选项 D 包含了字符“-“,且不能以此字符开头。故答案为 C。12.已知枚举类型声明语句为: enum COLOR WHITE, YELLOW, GREEN=5, RED, BLACK=10; 则下列说法中错误的是_。(分数:1.00)A.枚举常量 YELLOW 的值为 1B.枚举常量 RED 的值为 6C.枚举常量 BLACK 的值为 10D.枚举常量 WHITE 的值为 1 解析:解析 C+语言规定枚举常量的默认值依次等于 0,1,n-1。也可以给枚举常量赋初值,方法是:在枚举常量的后面跟上

37、“=整型常量”,在给枚举常量赋初值时,如果给其中任何一个枚举常量赋初值,则其后的枚举常量将按自然数的规则依次赋初值。所以本题答案为 D。13.执行下列语句段后,输出字符“*”的个数是_。 for(int i=50; i1; i-=2) cout“*“:(分数:1.00)A.24B.25 C.26D.50解析:解析 本题考查 for 循环语句,题目中每执行完循环体后,i 都会减 2,那么只有 50 到 2 之间的偶数才能输出“*”,所以总共输出 25 次。14.有如下定义: int a5=1, 3, 5, 7, 9, *P=a; 下列表达式中不能得到数值 5 的是_。(分数:1.00)A.a2B

38、.a3 C.*(P+2)D.*P+4解析:解析 本题考查指向数组的指针,本题中指针变量 p 指向数组 a,直接使用数组下标即可取值,数组下标是从 0 开始标号的,所以 a2能取到 5,而 a3取不到 5,C 选项中使用指针后移方法能够取到5,D 选项中*p 为 1,所以*p+4 为 5。15.下列语句中错误的是_。(分数:1.00)A.const int a; B.const int a=10;C.const int *point=0;D.const int *point=new int(10);解析:解析 const 是一个 C+语言的关键字,它限定一个变量不允许被改变。使用 const 在

39、一定程度上可以提高程序的安全性和可靠性。限定符声明变量只能被读,必须初始化。A 选项没有初始化,B、C、D选项都正确。16.已知函数 FA 调用函数 FB,若要把这两个函数定义在同一个文件中,则_。(分数:1.00)A.FA 必须定义在 FB 之前B.FB 必须定义在 FA 之前C.若 FA 定义在 FB 之后,则 FA 的原型必须出现在 FB 的定义之前D.若 FB 定义在 FA 之后,则 FB 的原型必须出现在 FA 的定义之前 解析:解析 如果使用用户自己定义的函数,而该函数与调用它的函数(即主调用函数)在同一程序单元中,且位置在主调用函数之后,则必须在调用此函数之前对被调用的函数作声明

40、。17.下列关于运算符函数的描述中,错误的是_。(分数:1.00)A.运算符函数的名称总是以 operator 为前缀B.运算符函数的参数可以是对象C.运算符函数只能定义为类的成员函数 D.在表达式中使用重载的运算符相当于调用运算符重载函数解析:解析 运算符函数可以定义为类的友元函数。所以 C 选项错误。18.为了提高函数调用的实际运行速度,可以将较简单的函数定义为_。(分数:1.00)A.内联函数 B.重载函数C.递归函数D.函数模板解析:解析 一般函数进行调用时,要将程序执行权转到被调用函数中,然后再返回到调用它的函数中;而内联函数在调用时,是将调用表达式用内联函数体来替换,一般只将规模很

41、小而使用频繁的函数声明为内联函数,可以避免函数调用时间开销,从而提高运行速度。19.若要对 Data 类中重载的加法运算符成员函数进行声明,下列选项中正确的是_。(分数:1.00)A.Data+(Data);B.Data operator+(Data); C.Data+operator(Data);D.operator+(Data, Data);解析:解析 根据重载加法运算符的格式,只有 B 选项正确。20.已知函数 f 的原型是 void f(int*a, long ,变量 v1、v2 的定义是: int v1; long v2; 下列调用语句中正确的是_。(分数:1.00)A.f(v1,

42、B.f(v1, v2);C.f(D.f( 解析:解析 函数参数的 3 种传递方式:将变量名作为形参和实参,即传值方式;传递变量指针;引用形参。本题中函数 f 的第一个形参为指针,那么调用 f 函数时,第一个参数必须是地址,所以必须是 B.Value operator+(Value v=value, int i);C.Value operator+(Value v, int i=0);D.Value operator+(Value v=value, int i=0);解析:解析 本题考查运算符重载,其中重载运算符的函数不能有默认的参数,所以本题答案为 A。22.下列关于运算符重载的描述中,正确的

43、是_。(分数:1.00)A.运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符 B.一元运算符只能作为成员函数重载C.二元运算符重载为非成员函数时,参数表中有一个参数D.C+中可以重载所有的运算符解析:解析 运算符重载为成员函数时,会省略一个参数,如果无参数,表明是一元运算符。一元运算符既可以作为成员函数重载,也可以作为非成员函数重载。二元运算符如果作为非成员函数,则参数表中必须有两个参数。C+有 5 个运算符不能重载,它们是:.(成员访问运算符)、.*(成员指针访问运算符)、:(域运算符)、sizeof(长度运算符)和?:(条件运算符)。故本题答案为 A。23.下列有关类成员的叙述

44、中,正确的是_。(分数:1.00)A.友元函数是类的成员函数B.类成员的默认访问权限是私有的 C.类成员函数必须声明为公有的D.类的静态数据成员不能是常成员解析:解析 友元函数是指某些虽然不是类成员却能访问类的所有成员的函数,故友元函数不是类的成员函数。类成员的默认访问权限是私有的,类的成员函数可以是 3 种权限中的一种,静态数据成员可以为常成员。故本题答案为 B。24.有如下类定义: class Point private: static int how_many; ; _how_many=0; 要初始化 Point 类的静态成员 how_many,下画线处应填入的内容是_。(分数:1.00

45、)A.intB.static intC.int Point: D.static int Point:解析:解析 本题考查静态数据成员,静态数据成员可以初始化,但只能在类体外进行初始化,其一般形式为:数据类型类名:静态数据成员名=初值。所以本题答案为 C。25.有如下头文件: int f1(); static int f2(); class MA public: int f3(); static int f4(); ; 在所描述的函数中,具有隐含的 this 指针的是_。(分数:1.00)Af1Bf2Cf3 Df4解析:解析 只有类的非静态成员函数才隐含 this 指针,其作用域是类内部,当类的非静态成员函数中访问类的非静态成员时,编译器会自动将对象本身的地址作为一个隐含参数传递给函数,而不必一定写上this。所以本题答案为 C。26.下列有关类继承的叙述中,错误的是_。(分数:1.00)A.继承可以实现软件复用B.虚基类可以解决由多继承产生的二义性问题C.派生类构造函数要负责调用基类的构造函数D.派生类没有继承基类的私有成员 解析:解析 3 种继承方式中,派生类继承了

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

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

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