计算机技术与软件水平考试面对对象程序设计试题(6)
一、单项选择题 ( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题 2 分,共 40 分 )
1.C++ 对 C 语言作了许多改进,即从面对过程变成为面对对象的主要缘由是 ( )
A. 增加了一些新的运算符
B. 允许函数重载,并允许设置缺省参数
C. 规定函数说明符必需用原型
D. 引进了类和对象的概念
2. 下列符号不能组成标识符的是 ( )
A. 连接符 B. 下划线
C. 大小写字母 D. 数字字符
3. 类型修饰符 unsigned 不能修饰 ( )
A. char B. int
C. long int D. float
4. 在 int a=3,int *p=&a ;中, *p 的值是 ( )
A. 变量 a 的地址值 B. 无意义
C. 变量 p 的地址值 D.3
5. 下列关于指针的操作中,错误的是 ( )
A. 两个同类型的指针可以进行比较运算 B. 可以用一个空指针赋给某个指针
C. 一个指针可以加上两个整数之差 D. 两个同类型的指针可以相加
6. 重载函数在调用时选择的依据中,错误的是 ( )
A. 函数的参数 B. 参数的类型
C. 函数的名字 D. 函数的类型
7. 一个函数功能不太困难,但要求被频繁调用,选用 ( )
A. 内联函数 B. 重载函数
C. 递归函数 D. 嵌套函数
8. 下列不是描述类的成员函数的是 ( )
A. 构造函数 B. 析构函数
C. 友元函数 D. 拷贝构造函数
9. 构造函数不具备的特征的是 ( )
A. 构造函数的函数名与类名相同 B. 构造函数可以重载
C. 构造函数可以设置默认参数 D. 构造函数必需指定类型说明
10. 通常,拷贝构造函数的参数是 ( )
A. 某个对象名 B. 某个对象的成员名
C. 某个对象的引用名 D. 某个对象的指针名
11. 继承机制的作用是 ( )
A. 信息隐藏 B. 数据封装
C. 定义新类 D. 数据抽象
12. 类的析构函数的作用是 ( )
A. 一般成员函数 B. 类的初始化
C. 对象的初始化 D. 删除对象创建的全部对象
13. 类的析构函数是在 ( ) 调用的。
A. 类创建时 B. 创建对象时
C. 删除对象时 D. 不自动调用
14. 在 ( ) 状况下相宜采纳 inline 定义内联函数。
A. 函数体含有循环语句 B. 函数体含有递归语句
C. 函数代码少、频繁调用 D. 函数代码多、不常调用
15. 假如类 A 被说明成类 B 的友元,则 ( )
A. 类 A 的成员即类 B 的成员 B. 类 B 的成员即类 A 的成员
C. 类 A 的成员函数不得访问类 B 的成员 D. 类 B 不肯定是类 A 的友元
16. 在类中声明转换函数时不能指定 ( )
A. 参数 B. 访问权限 C. 操作 D. 标识符
17. 在公有继承的状况下,基类成员在派生类中的访问权限 ( )
A. 受限制 B. 保持不变 C. 受爱护 D. 不受爱护
18.C++ 类体系中,不能被派生类继承的有 ( )
A. 转换函数 B. 构造函数
C. 虚函数 D. 静态成员函数
19. 假定 AB 为一个类,则执行 AB x ;语句时将自动调用该类的 ( )
A. 有参构造函数 B. 无参构造函数
C. 拷贝构造函数 D. 赋值构造函数
20.C++ 语言建立类族是通过 ( )
A. 类的嵌套 B. 类的继承 C. 虚函数 D. 抽象类
二、填空题 ( 每空 2 分,共 20 分 )
1. 对象的三大基本特性是多态性、 _______ 、封装性。
2.C++ 语言的函数参数传递方式有传值和 _______ 。
3. 重载赋值操作符时,应声明为 _______ 函数。
4. 用 _______ 声明的基类称为虚基类。
5. 用 _______ 声明函数称为虚函数。
6. 派生类对基类继承限制访问有三种。派生类可以定义其基类中不具备的 _______ 。
7. 静态成员是对象的成员, _______ 函数不是类的成员。
8. 在函数体之前加 _______ 关键字可以防止覆盖函数变更数据成员的值。
9. 一个 const 对象只能访问 _______ 成员函数。
10. 运用友元函数是为了提高程序效率,且节约了 _______ 开销。
三、完成程序题 ( 每小题 5 分,共 20 分 )
1. 完成下面类中的成员函数的定义。
class test{
private:
int num;
float x;
public:
test(int,float f);
test(test&);
};
test::test(int n,float f)
{num=n;
_______;
test::test(text& t)
{
_______;
x=t.f1;
}
2. 依据下面的主程序,完成类说明的最小形式 ( 不要求实现成员函数的定义 ) 。
#include
指针调用成员函数class base
{
private:
_______;
public:
_______ ;
};
void main()
{
base try(6);
}
3. 一个类的头文件如下所示,程序,产生对象 T ,且 T.num=10 ,并运用 P() 函数输出这个对象的值。
class test{
private:
int num;
public:
test(int);
void show();}
test::test(int n){ num=n;}
test::P(){cout<#include
void main()
{
_______;
_______;
}
4. 填上合适的字句,使程序的最终结果为 200 。
#include
class number{