09zc++re1Word格式.docx
- 文档编号:22283700
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:26
- 大小:25.92KB
09zc++re1Word格式.docx
《09zc++re1Word格式.docx》由会员分享,可在线阅读,更多相关《09zc++re1Word格式.docx(26页珍藏版)》请在冰豆网上搜索。
13.应用程序jisuan.cpp中只有一个函数,则这个函数的名称是。
14.类中数据成员的默认访问权限是。
15.一个C++程序的执行从函数开始。
16.定义在类内部的函数默认为___________,该函数的函数体会在编译时被
插入到每一个调用它的地方。
17.若一个类的某成员函数只是读其数据域的值,而不能修改它,则应在函数头的最后用
关键字修饰。
18.在C++程序中,对刚创建的对象进行初始化的工作由函数来完成;
而对象被删除前的一些清理工作则是由函数来完成的。
19.一个C++程序的开发步骤通常包括:
、编译、、运行和调试。
20.一般情况下,按照面向对象方法的要求,把类中数据成员的访问控制属性定义为__类型,而把成员函数的访问控制属性定义为____类型。
21.C++中,对类中的成员函数和属性的访问是通过_
_、_
___和_
__这3个关键字来控制的。
22.C++程序主要有三种基本控制结构,分别是顺序结构、
和
。
23.描述命题"
A大于B且小于C"
的C++表达式为
。
24.执行下列语句后,a的值是,inta=5;
a+=a-=a*a;
25.若需要把一个函数“void
F();
”定义为一个类AB的友元函数,则应在类AB的定义中加入一条语句
26.如果要将基类Shape中的方法floatArea()声明为纯虚函数,使用的语句为
。
27.设px是指向一个类动态对象的指针变量,则执行“delete
px;
”语句时,将自动调用该类的
28.抽象类不能实例化,即不能定义抽象类的__。
29.类拥有两类成员,即______________和______________。
30.类中的构造函数有_____个,析构函数有______个。
31.在C++中,____运算符用来对指定类型对象动态分配内存,而
_______运算符则用来删除动态分配的内存空间。
32.非成员函数应声明为类的________,才能访问这个类的private成员。
33.设置虚基类的目的是。
可通过关键字标识虚基类。
34.在类中定义和实现的函数称为________。
35.假定用户没有给一个名为MyClass的类定义构造函数,则系统为其定义的默认构造函数形式为______。
MyClass(){}
36.假定用户没有给一个名为MyClass的类定义析构函数,则系统为其定义的默认析构函数形式为______。
~MyClass(){}
三、单项选择题
1.如有下列类的声明:
ClassFOO{intbar;
};
则类的成员bar是。
A.公有数据成员B.公有成员函数
C.私有数据成员D.私有成员函数
2.下列关于类和对象叙述错误的是。
A.一个类只能有一个对象B.对象是类的具体实例
C.类是对某一类对象的抽象D.类和对象的关系是数据类型与变量的关系
3.要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为。
A.constchar*ptr=“xyz”;
B.charconst*ptr=“xyz”;
C.char*constptr=“xyz”;
D.constchar*constptr=“xyz”;
4.假定AB为一个类,则执行“ABA[10];
”语句时,系统自动调用该类的构造函数的次数为。
A.10B.9C.8D.7
5.关于动态联编的下列描述中,错误的是。
A.动态联编是以虚函数为基础的
B.动态联编是在运行时确定所调用的函数代码的
C.动态联编调用函数操作是指向对象的指针或对象引用
D.动态联编是在编译时确定所调用的函数代码的
6.如果类B被说明成类A的友元,则。
A.类A的成员即类B的成员B.类B的成员函数可以访问类A的成员
C.类B的成员即类A的成员D.类A也是类B的友元
7.面向对象程序设计思想的主要特征中不包括。
A.封装性B.功能分解,逐步求精
C.继承性D.多态性
8.假定AB为一个类,则为该类的拷贝构造函数的原型说明是。
A.AB(ABx);
B.AB(AB&
x);
C.voidAB(AB&
x);
D.AB(intx);
9.在公有继承的情况下,基类的私有成员在派生类中的访问权限是。
A.不可访问 B.可以访问C.公有的 D.保护的
10.下列关于C++类的各种描述中,错误的是。
A.类是对逻辑上相关的数据与函数的封装
B.类用于描述事物的属性和对事物的操作
C.类与类之间必须是平等的关系,而不能组成层次关系
D.类与类之间可以通过封装而具有明确的独立性
11.在下列各种符号常量的定义中,错误的定义是。
A.constfloatf=10.6;
B.constintM=20;
C.constcharch;
D.constboolmark=true;
12.假定AB为一个类,px为指向该类动态对象数组的指针,该数组长度为n,
则执行“delete[]px;
”语句时,自动调用该类析构函数的次数为C。
A.0B.1C.nD.n+1
13.假定AA为一个类,a为该类私有的数据成员,Geta()为该类公有函数成员,它返回a的值,obj为该类的一个对象,则访问obj对象中数据成员a的格式为。
A.obj.aB.obj.a()C.obj->
Geta()D.obj.Geta()
14.假定VOLUME为一个类,在类体中包含如下函数原型:
VOLUMEoperator-(VOLUMEc2);
关于这个函数的叙述中,错误的是。
A.这是重载运算符-的函数
B.这个函数所重载的运算符是一个一元运算符
C.这是一个成员函数
D.这个函数不改变类的任何数据成员的值
15.在C++中实现封装性是借助于。
A.枚举B.类C.数组D.函数
16.语句“int*constp;
”,说明不能修改的是。
A.p指针本身的值B.p指针指向的变量的值
C.p指针指向的数据类型D.上述A.B.C.三者
17.下列声明“A为虚基类,派生B类”,正确的是。
A.classvirtualB:
publicAB.virtualclassB:
publicA
C.classB:
publicAvirtualD.classB:
virtualpublicA
18.已知print()函数是一个类的常成员函数,下列声明中正确的是。
A.voidprint()const;
B.constvoidprint();
C.voidconstprint();
D.voidprint(const);
19.下面叙述错误的是。
A.基类中的private成员在public派生类中是不可直接访问的
B.基类中的private成员在public派生类中是private的
C.基类中的public成员在public派生类中是public的
D.基类中的protected成员在public派生类中是protected的
20.下列静态数据成员特性中,错误的是。
A.说明静态数据成员时前边要加修饰符static
B.静态数据成员要在类体外进行初始化
C.静态数据成员不是所有对象共有的
D.引用静态数据成员时,要在静态数据成员名前加<
类名>
和作用域分辨符
21.若类中的成员在定义时紧接着类名称,且没有使用访问控制属性关键字,
则该成员缺省定义为。
A.publicB.privateC.protectedD.friend
22.在下列关于设置参数默认值的各种描述中,正确的是。
A.不允许设置参数的默认值
B.设置参数默认值时,应该是先设置左边的再设置右边的
C.设置参数默认值时,应该是先设置右边的再设置左边的
D.设置参数默认值时,应该全部参数都设置
23.一个函数功能很简单,但要求被频繁调用,最好定义为。
A.内联函数B.重载函数
C.递归函数D.嵌套函数
24.如果一个类至少有一个纯虚函数,那么就称该类为。
A.抽象类B.虚基类C.派生类D.以上都不对
25.要实现动态联编,调用虚函数必须通过。
A.对象指针B.成员名限定C.对象名D.派生类名
26.假定A为一个类,则执行“Ax;
”语句时将自动调用该类的。
A.有参构造函数B.无参构造函数
C.拷贝构造函数D.赋值构造函数
27.通过一个基类类型的调用虚函数时,采用动态绑定。
A.派生类名 B.对象C.成员名限定D.指针
28.定义析构函数时,正确的是。
A.其名与类名完全相同 B.无形参,也没有返回值
C.返回类型是void类型 D.函数体中必须有delete语句
29.C++源程序文件的缺省扩展名是。
A.exeB.cppC.objD.lik
30.下面的函数声明中,是“voidBC(inta,intb);
”的重载函数B。
A.intBC(inta,intb)B.voidBC(intx,inty)
C.floatBC(inta,intb,intc=0)D.voidBC(inta,intb=0)
31.下面的哪一个函数头格式不正确?
___________。
A.AA(inta,intb) B.AA(inta,intb=0)
C.AA(inta=0,intb=0) D.AA(inta=0,intb)
32.C++语言中规定,函数的返回值的类型是由。
A.return语句中的表达式类型所决定
B.调用该函数时的主调用函数类型所决定
C.在定义该函数时所指的数据类型所决定
D.调用该函数时系统临时决定
33.C++语言中基本数据类型是。
A.整型、浮点型、逻辑型和无值型B.整型、字符型、浮点型和无值型
C.整型、浮点型、字符型和逻辑型D.整型、字符型、逻辑型和无值型
34.关于成员函数特征的描述中,不正确的是___________。
A.成员函数的第一个参数有一个隐含的this指针
B.成员函数可以是常成员函数,逻辑上不改变对象的状态
C.成员函数不可以是静态的,只有数据域是静态的
D.作用在常对象的非常成员函数在编译中会出现错误或警告
35.假定k是一个int类型的变量,则关于变量pointer的正确定义语句是_________。
A.doublepointer=&
kB.int*pointer=&
k
C.int&
pointer=*kD.char*pointer=”hello”;
36.不能重载的运算符是___________。
A.“[]”运算符B.“?
:
”运算符
C.“()”运算符D.“+”运算符
37.下面关于友元的描述中,错误的是。
A.友元函数可以访问该类的私有数据成员。
B.一个类的友元类中的成员函数都是这个类的友元函数。
C.友元函数是类的非成员函数。
D.类与类之间的友元关系可以传递。
38.与C语言printf("
Helloworld\n"
);
语句功能相同的C++语句是。
A.cout>
>
"
;
B.cin>
C.cout<
<
D.cin<
39.设intarr[5]={0},*p=arr;
下面的表达式,哪个最有可能不是0的是___________
A.arr[0]B.*(p+5)
C.*pD.arr[2]
40.构造函数不具备的特征的是__________。
A.构造函数的函数名与类名相同B.构造函数可以重载
C.构造函数可以设置默认参数D.构造函数必须指定返回类型
41.与数学式1<
x<
10等价的C++表达式是。
A.1<
10B.x>
1&
&
<
10
C.x>
1ANDx<
10D.x>
x<
10
42.以下关于函数模板叙述正确的是。
A.函数模板也是一个具体类型的函数
B.函数模板的类型参数与函数的参数是同一个概念
C.通过使用不同的类型参数,函数模板可以生成不同类型的函数
D.用函数模板定义的函数没有类型
43.关于封装,下列说法中不正确的是。
A.通过封装,对象的全部属性和操作结合在一起,形成一个整体
B.通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)
C.通过封装,每个对象都成为相对独立的实体
D.通过封装,对象的属性都是不可见的
44.函数重载是指。
A.两个或两个以上的函数取相同的函数名,但形参的个数或类型不同
B.两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同
C.两个以上的函数名字不同,但形参的个数或类型相同
D.两个以上的函数取相同的函数名,并且函数的返回类型相同
45.假定AB为一个类,则执行“ABr1=r2;
”语句时将自动调用该类的。
A.无参构造函数B.带参构造函数
C.赋值重载函数D.拷贝构造函数
46.定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为。
A.int*p=newint[30];
B.int*p=newint(30);
C.int*p=new[30];
D.*p=newint[30];
47.以下关于函数模板叙述正确的是。
48.一个类的友元函数能够访问该类的。
A.私有成员B.保护成员
C.公有成员D.所有成员
49.在类的定义形式中,数据成员、函数成员和组成了类定义体。
A.成员的访问控制信息B.公有信息
B.私有信息D.保护信息
50.关于成员函数特征的下述描述中,错误的是。
A.成员函数可以重载B.成员函数一定是内联函数
C.成员函数可以是静态的D.成员函数可以设置参数的默认值
51.友元的作用是。
A.加强类的封装性B.增加成员函数的种类
C.提高程序的运行效率D.实现数据的隐藏性
四、程序阅读题
1.源程序如下:
#include<
iostream.h>
classA
{
public:
staticintx;
inty;
};
intA:
:
x=15;
voidmain()
Aa;
a.y=30;
cout<
A:
x<
endl;
a.x<
endl;
2.源程序如下:
#include"
iostream.h"
classA
A(inti=0){m=i;
cout<
Constructor"
m<
}
voidset(inti){m=i;
voidprint(){cout<
~A(){cout<
"
Destructor"
private:
intm;
voidmain()
Aa;
Ab(5);
b.print();
3.源程序如下:
#include<
voidmain()
{
intx=20,&
r=x;
r=r+3;
A:
x="
r=x+10;
B:
r="
r<
}
4.源程序如下:
classB0
{intn;
public:
B0(inta)
constructingB0"
n=a;
n="
n<
endl;
~B0(){cout<
destructingB0"
};
classB1:
publicB0
intm;
B1(inta,intb):
B0(a)
{cout<
constructingB1"
m=b;
m="
m<
~B1(){cout<
destructingB1"
B1b1(2,4);
5.源程序如下:
#include<
iostream>
usingnamespacestd;
classClass
public:
Class(intn=10,intm=20);
~Class();
voidSet(intn,intm){x=n;
y=m;
private:
intx,y;
Class:
Class(intn,intm)
{
Set(n,m);
Construct:
x="
y="
y<
Class:
~Class()
Destruct:
x="
}
Classx
(1);
Classy(2,3);
exiting…\n"
;
6.源程序如下:
classOurobj
inti,s;
staticintk;
Ourobj(){s=0;
for(i=1;
i<
=10;
i++){s+=i;
k++;
}}
voiddisplay(){cout<
i="
i<
k="
k<
s="
s<
}
};
intOurobj:
k=0;
voidmain()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 09 zc re1