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

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

学子考试网 Ks263.Com 点击数: 2006-4-9 字体:[ ] 收藏本文
一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题2分,共40分)

1.在公有继承的情况下,基类成员在派生类中的访问权限( )

A.受限制 B.保持不变

C.受保护 D.不受保护

2.通过( )调用虚函数时,采用动态束定。

A.对象指针 B.对象名

C.成员名限定 D.派生类名

3.在int a=3,*p=&a;中,*p的值是( )

A.变量a的地址值 B.无意义

C.变量p的地址值 D. 3

4.C++类体系中,不能被派生类继承的有( )

A.转换函数 B.构造函数

C.虚函数 D.静态成员函数

5.假定一个类的构造函数为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

6.C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是( )

A.增加了一些新的运算符

B.允许函数重载,并允许设置缺省参数

C.规定函数说明符必须用原型

D.引进了类和对象的概念

7.下列符号不能组成标识符的是( )

A.连接符 B.下划线

C.大小写字母 D.数字字符

8.类型修饰符unsigned不能修饰( )

A. virtual B. int

C. long int D. float

9.一个函数功能不太复杂,但要求被频繁调用,选用( )

A.内联函数 B.重载函数

C.递归函数 D.嵌套函数

10.下列不是描述类的成员函数的是( )

A.构造函数 B.析构函数

C.友元函数 D.拷贝构造函数

11.C++语言中所有在函数中定义的变量,连同形式参数,都属于( )

A.全局变量 B.局部变量

C.静态变量 D.函数

12.定义新类是通过( )实现的。

A.信息隐藏 B.数据封装

C.继承机制 D.数据抽象

13.下面有关类说法不正确的是( )

A.一个类可以有多个构造函数

B.一个类只有一个析构函数

C.析构函数需要指定参数

D.在一个类中可以说明具有类类型的数据成员

14.派生类的对象只能对它的( )是可访问的。

A.公有继承的公有成员 B.公有继承的私有成员

C.公有继承的保护成员 D.私有继承的保护成员

15.下列不能作为类的成员的是( )

A.自身类对象的指针 B.自身类对象

C.自身类对象的引用 D.另一个类的对象

16.在类中声明转换函数时不能指定( )

A.参数 B.访问权限

C.操作 D.标识符

17.在派生类中重新定义虚函数时必须在( )方面与基类保持一致。

A.参数类型 B.参数名字

C.操作内容 D.赋值

18.在私有继承的情况下,基类成员在派生类中的访问权限( )

A.受限制 B.保持不变

C.受保护 D.不受保护

19.下面对于指针的描述不正确的是( )

A.指针是地址变量

B.指针不能用除0以外的常量赋值

C.两个指针变量的加减法无意义

D.指针指向不同基类型的变量长度不同

20.在派生类中定义友元函数时必须在( )方面与基类保持一致。

A.参数类型 B.参数名字

C.操作内容 D.赋值

二、填空题(每空2分,共20分)

1.在一个类中可以对一个操作符进行_______重载。

2.在C++中有二种参数传递方式:______________。

3.模板对处理数据的类型的要求不同可以分为两种类型:_______。

4.静态联编是在程序_______时进行的。

5.在函数体之前加_______关键字可以防止覆盖函数改变数据成员的值。

6.一个const对象只能访问_______成员函数。

7.派生类的主要用途是可以定义其基类中_______。

8.当建立_______,程序自动调用该类的构造函数。

9.使用指向对象的指针来标识类的成员,则必须使用的运算符是_______。

10.拷贝初始化构造函数使用_______来初始化创建中的对象。

三、完成程序题(每小题5分,共20分)

1.下面程序的运行结果如下所示完成填空。

#include “iostream.h”

class test{

private∶int num

float fl;

public∶ test();

int getint(){return num;}

float getfloat(){return fl;}

~test();

};

test∶∶test()

{cout<<″Initializing default″<

______________ }

test∶∶~test() {cout<<″Desdtructor is active″<

int main()

{test array[2];

cout<

运行结果为:

Initializing default_____________________;∥填写结果

0 0

Desdtructor is active

Desdtructor is active

2.定义一个日期的类来实现重载操作符的测试,在下面程序的底画线处填上适当的字句,完成类中成员函数的定义。

#include

class ClassDate{

private∶

int year;

int month;

int day;

public∶ClassDate(int y=0,int d=0,int m=0){year=y,month=m,day=d;}

int getyear(){return year;}

int getmonth(){return month;}

in getday(){return day;}

____________________ (iostream & s,ClassDate &a)

{ int y,m,d;

cout<<″请输入日期:(yyyy-mm-dd)″;

s>>y>>m>>d;

while(y>9999‖m>-1‖m<-12‖d>-1‖d<-31)

{

cout<<″输入格式有错,请重新输入日期:(yyyy-mm-dd)″;

s>>y>>m>>d;

}

a.year=y;

a.month=-m;

a.day=-d;

return s;

}

_____________________∥输出重定义

{∥输出日期

s<<″现在的日期是:″;

s<

s<

return s;

}

};

3.在下面程序的底画线处填上适当的字句,完成程序。

#include

class A{

public∶ void f(int i){cout<

void g(){cout<<”g\n”;}

};

class ______________{

public∶void h(){cout<<”h\n”;}

A∶∶f;

};

void main()

{ B d1;

d1.f(6);

______________.h();

}

4.根据运行结果,完成下面递归程序的填空。

#include

int f(int *x)

{

if(!(*x))

{ cout<<*x<<",";

_____________________;∥递归调用;

}

main()

{ int A[]={3,2,1};

int *y;

y=A;

_____________________;∥引用f;

}

运行结果是:3,2,1

四、综合应用题(共20分)

1.分析下列程序可能的输出结果。(满分8分)

#include “iostream.h”

int main()

{int i=17;

while(i>=10)

if(--i%4==3) continue;

else

cout<<“i=”<

}


  • 上一篇文章:

  • 下一篇文章:




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