Meta name="Robots" Content="All"> 计算机技术与软件水平考试面向对象程序设计试题(1)_计算机软件水平考试_计算机类考试_学子考试网
网站首页 | 考试学习 | 英语学习 | 求职 |出国留学 | 资源下载 | 论文中心 | 箐箐校园 | 精品课程 | 网络学院 | 网站留言
资格类考试: 公务员考试 报关员考试 导游资格 注册会计 司法考试
外语类考试: 英语四六级 雅思 托福 GRE BEC PETS 职称英语
学历类考试: 高考 考研 自考 成考 专升本
计算机考试: 等级考试 水平考试 微软认证 思科认证 Linux认证
设为主页
联系站长
添加收藏夹
[图文]计算机技术与软件水平考试面向对象程序设计试题(1)

[图文]计算机技术与软件水平考试面向对象程序设计试题(1)

学子考试网 Ks263.Com 点击数: 2006-4-9 字体:[ ] 收藏本文
一、单项选择题 ( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题 2 分,共 40 分 )
1. 在 ( ) 情况下适宜采用 inline 定义内联函数。
A. 函数体含有循环语句
B. 函数体含有递归语句
C. 函数代码少、频繁调用
D. 函数代码多、不常调用
2. 在类中说明的成员可以使用关键字 ( ) 进行修饰。
A. private B. extern
C. auto D. register
3. 如果类 A 被说明成类 B 的友元,则 ( ) 。
A. 类 A 的成员即类 B 的成员
B. 类 B 的成员即类 A 的成员
C. 类 A 的成员函数不得访问类 B 的成员
D. 类 B 不一定是类 A 的友元
4. 定义析构函数时,应该注意 ( ) 。
A. 其名与类名完全相同 B. 返回类型是 void 类型
C. 无形参,也不可重载 D. 函数体中必须有 delete 语句
5. 在类中声明转换函数时不能指定 ( ) 。
A. 参数 B. 访问权限
C. 操作 D. 标识符
6. 在派生类中重新定义虚函数时必须在 ( ) 方面与基类保持一致。
A. 参数类型 B. 参数名字
C. 操作内容 D. 赋值
7. 在公有继承的情况下,基类成员在派生类中的访问权限 ( ) 。
A. 受限制 B. 保持不变
C. 受保护 D. 不受保护
8. 通过 ( ) 调用虚函数时,采用动态束定。
A. 对象指针 B. 对象名
C. 成员名限定 D. 派生类名
9. 在 int a=3,*p=&a; 中, *p 的值是 ( ) 。
A. 变量 a 的地址值 B. 无意义
C. 变量 p 的地址值 D. 3
10.C++ 类体系中,不能被派生类继承的有 ( ) 。
A. 转换函数 B. 构造函数
C. 虚函数 D. 静态成员函数
11. 假定一个类的构造函数为 A(int aa,int bb){a=aa++;b=a*bb++;} ,则执行 Ax(4,5); 语句后, x.a 和 x.b 的值分别为 ( ) 。
A. 4 和 5 B. 5 和 4
C. 4 和 20 D. 20 和 5
12. 假定 AB 为一个类,则执行 AB x ;语句时将自动调用该类的 ( ) 。
A. 有参构造函数 B. 无参构造函数
C. 拷贝构造函数 D. 赋值构造函数
13.C++ 语言建立类族是通过 ( ) 。
A. 类的嵌套 B. 类的继承
C. 虚函数 D. 抽象类
14. 执行语句序列 ofstream outf( “ SALARY.DAT ” ) ; if(...)cout<< “成功”; else cout<< “失败”;后,如文件打开成功,显示”成功”,否则显示”失败” . 由此可知,上面 if 语句的条件表达式是 ( ) 。
A. !outf 或者 outf.fail()
B.!outf 或者 outf.good()
C. outf 或者 outf.fail()
D. outf 或者 outf.good()
15. 静态成员函数不能说明为 ( ) 。
A. 整型函数 B. 浮点函数
C. 虚函数 D. 字符型函数
16. 在 C++ 中,数据封装要解决的问题是 ( ) 。
A. 数据规范化排列 B. 数据高速转换
C. 避免数据丢失 D. 保证数据完整性
17. 在 C++ 中有以下 4 条语句: static int hot=200;int &rad=hot;hot=hot+100;coutC. 300 D. 200
18. 如果 class 类中的所有成员在定义时都没有使用关键字 pubilc,private,protected ,则所有成员缺省定义为: ( ) 。
A. public B. protected
C. private D. static
19.C++ 设置虚基类的目的是 ( ) 。
A. 消除二义性 B. 简化程序
C. 提高运行效率 D. 减少目标代码
20. 实现运行时的多态性用 ( ) 。
A. 重载函数 B. 构造函数
C. 析构函数 D. 虚函数
二、填空题 ( 每空 2 分,共 20 分 )
1. 派生类可以定义其 ________ 中不具备的数据和操作。
2. 当建立一个新对象时,程序自动调用 ________ 。
3. 定义 ________ 函数时,应在参数个数或参数类型上有所不同。
4. 类是用户定义的类型,具有 ________ 称作对象。
5. 使用指向对象的指针来标识类的成员,则必须使用的运算符是 ________ 。
6. 拷贝初始化构造函数使用 ________ 来初始化创建中的对象。
7. 在一个类中可以对一个操作符进行 ________ 重载。
8. 在 C++ 中有二种参数传递方式: ________ 。
9. 多态性通过 ________ 来实现的。
10. 使用空的虚函数可以保证基类到派生类建立起一条 ________ ,使派生类通过虚函数机制正确存取虚函数。
三、完成程序题 ( 每小题 5 分,共 20 分 )
1. 在下面程序的底画线处填上适当的字句,使该程序执行结果为 10 。
#include
class base{int X;
public :
________ ∥为 X 置值
________ ∥取 X 值
};
void main()
{ base test;
test.init(3);
cout<}
2. 在下列程序的底画线处填上适当的字句,完成类中成员函数的定义。
#include
class box{ private ∶
int color;int upx,upy;int lowx,lowy;
public :
friend int same - color(line a,box b);
________ set - color(int c){color=c;}
void define - box(int x1,int y1,int x2,int y2){upx=x1;upy=y1;}
};
class line{ private:
int color;int startx,starty;int len;
public:
friend - int same - color(line a,box b);
________set - color(int c){color=c;}
void define - line(int x,int y){startx=x;}
};
int same - color(line a,box b)
{if(a.color= =b.color)
return 1;
return 0;}
3. 在下面程序的底画线处填上适当的字句,完成程序。
#include
class A{
public ∶ void f(int i){cout};
class ________{
public ∶ void h(){cout<< ” h \ n ” ;}
A ∶∶ f;
};
void main()
{ B d1;
d1.f(6);
________.h();
}
4. 在下列程序的空格处填上适当的字句,使输出为: 0 , 7 , 5 。
#include
#include
class Magic{
double x;
public ∶
________(double d=0.00) ∶ x(fabs(d)){}
Magic operator+(Magic c){return Magic(sqrt(x*x+c.x*c.x));}
friend ostream & operator<<(ostream & os,Magic c){return os<};
void main()
{
________;
cout<}
四、综合应用题 ( 共 20 分 )
1. 分析下列程序可能的输出结果。 ( 满分 8 分 )
#include
class base{
public ∶
virtual int func() {return 10;}
};
class derived ∶ public base{
public ∶
int func() {return 200;}
};
void main()
{derived d;
base & b=d;
cout2. 下列 shape 类是一个表示形状的抽象类, area() 为求图形面积的函数, total() 则是一个通用的用以求不同形状的图形面积总和的函数。请从 shape 类派生三角形类 (triangle) 、矩形类 (rectangle) ,并给出具体的求面积函数。给出 shape,total 的定义如下所示。 ( 满分 12 分 )
class shape{
public ∶
virtual float area()=0
};
float total(shape *s [] ,int n)
{
float sum=0.0;
for(int i=0;isum+=s [ i ] ->area();
return sum;
}

  • 上一篇文章:

  • 下一篇文章:




  •                            【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    特别推荐
    最新热点
    最新推荐
     网站首页 -  网站地图 -  加入收藏 -  联系我们 -  友情链接 
    冀ICP备05000973号 ©2005-2006 www.ks263.com.版权所有