设为首页    加入收藏

自学考试省级导航

全国 A安徽 B北京 C重庆 F福建 G广东 广西 甘肃 贵州 H河南 河北 湖南 湖北 黑龙江 海南 J江苏 江西 吉林 L辽宁 N内蒙古 宁夏 Q青海 S山东 山西 陕西 四川 上海 T天津
     X新疆 西藏 Y云南 Z浙江 历年真题分类检索

全国2003年10月自考面向对象程序设计试题 (打印word版)(一)
2013-04-10 19:51:37 来源:91考试网 作者:www.91exam.org 【

全国2003年10月高等教育自学考试面向对象程序设计试题
课程代码:02328
一、单项选择题(本大题共10小题,每小题2分,共20分)
    在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.下列特性中,C与C++共有的是(     )
  A.继承                
  B.封装
  C.多态性              
  D.函数定义不能嵌套

2.通常情况下,函数模板中的类型参数个数不能是(     )
  A.0              
  B.2
  C.4              
  D.3

3.在下列成对的表达式中,运算符“+”的意义不相同的一对是(     )
  A.5.0+2.0和5.0+2             
  B.5.0+2.0和5+2.0
  C.5.0+2.0和5+2               
  D.5+2.0和5.0+2

4.类的指针成员的初始化是通过函数完成的,这个函数通常是(     )
  A.析构函数              
  B.构造函数
  C.其它成员函数          
  D.友元函数

5.要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为(     )
  A.const char *p=“ABCD”;    
  B.char const *p=“ABCD”;
  C.char *const p=“ABCD”;    
  D.const char * const p=“ABCD”;

6.静态成员函数没有(     )
  A.返回值              
  B.this指针
  C.指针参数            
  D.返回类型

7.当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中(     )
  A.都是虚函数
  B.只有被重新说明时才是虚函数
  C.只有被重新说明为virtual时才是虚函数
  D.都不是虚函数

8.下面叙述不正确的是(     )
  A.派生类一般都用公有派生
  B.对基类成员的访问必须是无二义性的
  C.赋值兼容规则也适用于多重继承的组合
  D.基类的公有成员在派生类中仍然是公有的

9.在C++中实现封装是借助于(     )
  A.枚举              
  B.类
  C.数组              
  D.函数

10.所有在函数中定义的变量,都是(     )
  A.全局变量              
  B.局部变量
  C.静态变量              
  D.寄存器变量

二、填空题(本大题共10小题,每小题2分,共20分)
不写解答过程,将正确的答案写在每小题的空格内。错填或不填均无分。
11.设函数max是由函数模板实现的,并且max(3.5,5)和max(10,5)都是正确的函数调用,则该模板具有______个类型参数。

12.在单继承和多继承方式中,面向对象的程序设计应尽量使用______继承。

13.语句序列 ifstream datafile;datafile.open(“data.dat”);的功能可用一个语句实现,这个语句是______。

14.将关键字const写在函数头之后,函数体之前,说明该函数是一个const成员函数。此时const不是指定函数的返回值,而是修饰______指针。

15.一个抽象类的派生类可以实例化的必要条件是实现了所有的______。

16.在C++中,虚函数帮助实现了类的______性。

17.通过C++语言中类的______,可以扩充和完善已有类以适应新的需求。

18.为了在对象生存期结束时释放其指针成员所指向的动态存储空间,通常需要为该类定义______。

19.在联合中,所有数据成员具有______的地址,任一时刻只有______个数据成员有效。

20.在已经定义了整型指针ip后,为了得到一个包括10个整数的数组并由ip所指向,应使用语句______。

三、改错题(本大题共5小题,每小题2分,共10分)
21.下面的类定义有一处错误,请用下横线标出错误所在行并改正错误。
   class A{
       int a;
   public;
       A(int aa):a=aa{ }
   };
22.下面的程序先把字符串“Look out!”输出到一个文件中,然后再从该文件输入,并显示在屏幕上,显示效果为Look out!。程序中有一处错误,请用下横线标出错误所在行,并给出更改意见。
   # include
   void main(){
        ofstream outf(“D:\tem.dat”,ios::trunc);
        outf<<“Look out!”;
        outf.close( );
        ifsteam inf(“D:\tem.dat”);
        char k[20];  inf>>k;  count<        inf.close( );
   }
23.下面的程序有一处错误,请用下横线标出错误所在行并改正错误。
   # include
   class Test{
         public;
            static int x;
   };
   int x=20;//对类成员初始化
   void main ( )
   {
        cout<   }
24.下面的程序类B的定义中有一处错误,请用下横线标出错误所在行并说明错误原因。
   # include
   # include
   class A{
          public:A(const char *nm){strcpy(name,nm);}
          private:char name[80];
   };
   class B:public A{
          public:B(const char *nm):A(nm){ }
                 void PrintName( )const;
   };
   void B::PrintName( )const{
       cout<<“name:”<   }
   void main( ){
       B b1(“wang li”);
       b1.PrintName( );
   }
25.用下横线标出下面程序main函数中的错误所在行,并说明错误原因。
   # include
   class Location{
       private:
            int X,Y;
       public;
            void init(int initX,int initY);
            int sumXY( );
   };
   void Location::init(int initX,int initY)
   {
      X=initX;
      Y=initY;
   }
   int Location::sumXY( )
   {
       return X+Y;
   }
  
   void main( )
   {
       Location A1;
       int x,y;
       A1.init(5,3);
       x=A1.X;y=A1.Y;
       cout<   }

Tags:自学考试 历年真题
】【打印繁体】 【关闭】 【返回顶部
上一篇浙江省2011年7月自学考试模具软件.. 下一篇浙江省2003年1月自考面向对象程序..

网站客服QQ: 960335752 - 14613519 - 48225117