A.2,3B.3,2C.2,2D.3,3
54.下面关于C++语言变量的叙述错误的是(B)
A.在C++语言中变量分为auto,static,extern和register四种存储类型
B.自动变量和外部变量的作用域为整个程序
C.内部静态变量的作用域是定义它的函数
D.外部静态变量的作用域是定义它的文件
55.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为(A)
A.publicB.protectedC.privateD.static
56.在C++语言程序中,对象之间的相互通信通过(C)
A.继承实现B.调用成员函数实现
C.封装实现D.函数重载实现
57.下面程序的运行结果是(C)
#include
usingnamespacestd;
voidmain()
{inti=1;
while(i<=8)
if(++i%3!
=2)continue;
elsecout<
A.25B.36C.258D.369
58.已知有定义,则下列选项错误的是(B)
constintD=5;
inti=1;
doublef=0.32;
charc=15;
A.++i;B.D--;C.c++;D.--f
59.设有数组定义:
chararray[]=”China”;,则数组array所占的空间为(C)
A.4个字节B.5个字节C.6个字节D.7个字节
60.下列描述中哪个是正确的?
(B)
A.私有派生的子类无法访问父类的成员
B.类A的私有派生子类的派生类C无法初始化其祖先类A对象的属性,因为类A的成员对类C是不可访问的
C.私有派生类不能作为基类派生子类
D.私有派生类的所有子孙类将无法继续继承该类的成员
61.下列关于构造函数说法不正确的是(C)
A.构造函数必须与类同名
B.构造函数可以省略不写
C.构造函数必须有返回值
D.在构造函数中可以对类中的成员进行初始化
62.如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是(D)
A.一元运算符B.二元运算符
C.选项A)和选项B)都可能D.重载错误
63.可以用P.a的形式访问派生类对象P的基类成员a,其中a是(D)
A.私有继承的公有成员B.公有继承的私有成员
C.公有继承的保护成员D.公有继承的公有成员
64.成员函数可声明为静态的,条件是它不访问(C)类成员。
A.静态B.常数C.非静态D.公共
65.要让一个类中的所有对象具有共同的数据,请使用(C)。
A.常数成员变量B.私有数据成员
C.静态数据成员D.以上都是
二、填空题
1.继承的方式有公有继承、_私有继承____和____保护继承____3种。
2.重载的运算符保持其原有的____操作数个数_________、优先级和结合性不变。
3.在C++中封装性、继承性和_____多态性________是面向对象思想的主要特征。
4.假定A为一个类,则语句A(A&p);为该类____复制构造____函数的原型说明。
5、面向对象程序设计有四个主要特点,即抽象、封装、__继承__和_多态性___。
6、非成员函数应声明为类的_友元___函数才能访问这个类的private成员。
7、派生类中的成员不能直接访问基类中的__私有__成员。
8、在用class定义一个类时,数据成员和成员函数的默认访问权限是_private或私有___。
9、运算符重载函数可能是类的_成员___函数,也可以是类的_友元_函数,还可以是普通函数。
10、用流对象的成员函数控制输出格式时,用于设置字段宽度的流成员函数的名称是width____,与之作用相同的控制符名称是__setw__。
11、含有纯虚函数的类称为__抽象类__。
12.在面向对象的程序设计中,类描述的是具有相似性质的一组__对象____。
13.在面向对象方法中,类之间共享属性和操作的机制称为____继承_________。
14.通过使用new和delete两个运算符进行的分配为__动态存储__________分配。
15.C++语言支持的两种多态性分别是_____编译时________的多态性和______运行时_______的多态性。
三、程序阅读题
1.阅读下面的程序,试求:
(1)给出程序的运行结果。
(2)分析变量i的作用。
#include