设为首页    加入收藏

自学考试省级导航

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

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

课程代码:02328

一、单项选择题(本大题共10小题,每小题2分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.面向对象程序设计中的数据隐藏指的是(   )
A.输入数据必须输入保密口令 B.数据经过加密处理
C.对象内部数据和代码合并在一起  D.对象内部数据结构的不可访问性

2.在C++中,编写一个内联函数Fun,使用int类型的参数,求其平方并返回,返回值也为int类型,下列定义正确的是 (   )
A.int Fun(int x){return x*x;}  B.inline int Fun(int x){return x*x;}
C.int inline Fun(int x){return x*x;} D.int Fun(int x){inline return x*x;}

3.下面关于重载函数的叙述中正确的是 (   )
A.重载函数必须具有不同的返回值类型
B.重载函数的形参个数必须不同
C.重载函数必须有不同的形参列表
D.重载函数的函数名可以不同

4.若有定义“int x=17;”,则语句“cout<<oct<<x;”的输出结果是(   )
A.11 B.0x11
C.21 D.021

5.下列关于析构函数的描述中正确的是(   )
A.析构函数可以重载  B.析构函数可以是虚函数
C.析构函数名与类名相同  D.析构函数的返回类型为void

6.下列关于纯虚函数的描述中,正确的是 (   )
A.纯虚函数是一种特殊的虚函数,它是个空函数
B.具有纯虚函数的类称为虚基类
C.一个基类中说明有纯虚函数,其派生类一定要实现该纯虚函数
D.具有纯虚函数的类不能创建类对象

7.下列关于运算符重载的描述中,正确的是 (   )
A.可以改变运算符的目数  B.可以改变运算符的优先级
C.可以改变运算符的结合性  D.可以改变运算符的功能

8.要将类A说明是类B的虚基类,正确的描述是 (   )
A.class virtual B:public A  B.class B:virtual public A
C.virtual class B:public A  D.class B:public A virtual

9.下面关于静态成员的描述中,正确的是 (   )
A.静态数据成员是类的所有对象共享的数据
B.类的每个对象都有自己的静态数据成员
C.类的不同对象有不同的静态数据成员值
D.静态数据成员不能通过类的对象访问

10.假设Sample是个类,则语句“Sample a[2],*p[3];”调用构造函数的次数为(   )
A.0  B.2
C.3   D.5

二、填空题(本大题共10小题,每小题2分,共20分)
请在每小题的空格中填上正确答案。错填、不填均无分。
11.在面向对象的程序设计中,将一组对象的共同特性抽象出来形成________________。
12.在C++中要创建一个文件输入流对象fin,同时该对象打开文件“Test.txt”用于输入,则正确的声明语句是________________。
13.如果要把类B的成员函数void fun( )说明为类A的友元函数,则应在类A中加入语句________________。
14.A是一个类,已有语句“A* p;p=new A[10];”。要释放由p指向的动态空间,正确的语句应该是________________。
15.如果一个引用不是用作函数参数或返回值,则在说明该引用时必须对它进行________________。
16.如果要把PI声明为值为3.14159类型为双精度实数的符号常量,该声明语句是________________。
17.在C++中函数原型不但要标识一个函数的返回类型,同时还要标识该函数的________________。
18.类A的后置自增运算符++以成员函数的形式进行重载,其在类内的函数声明是________________。
19.动态联编是通过基类类型的指针或引用调用________________函数来完成。
20.基类的保护成员通过私有派生其在派生类中的访问权限是________________。

三、改错题(本大题共5小题,每小题2分,共10分)
21.下面的类定义中有一处错误,请用下横线标出错误所在行并给出修改意见。
class Sample
{
private:
  int data;
  Sample( ){data=10;}
public:
  Sample(int d){data=d;}
  int operator int( ){return data;}
};
22.下面的类定义中有一处错误,请用下横线标出错误所在行并给出修改意见。
#include<iostream.h>
class Point
{
  int X,Y;
public:
  Point( ){X=0;Y=0;}
  Point(int x=0,int y=0){X=x;Y=y;}
  void display( ){cout<<X<<","<<Y<<endl;}
};
23.下面的程序有一处错误,请用下横线标出错误所在行并说明错误原因。
#include<iostream.h>
template<class T>
void Swap(T& a,T& b)
{
  T t;
  t=a,a=b,b=t;
}
void main( )
{
  int a=3,b=4;
  char str1[5]=”abcd”,str2[5]=”hijk”;
  Swap(a,b);
  Swap(str1,str2);
  cout<<”a=”<<a<<”,b=”<<b<<endl;
  cout<<”str1=”<<str1<<”,str2=”<<str2<<endl;
}
24.下面的程序有一处错误,请用下横线标出错误所在行并说明错误原因。
#include<iostream.h>
class Base
{
public:
  virtual void fun( ){cout<<"Base function"<<endl;}
};
class Derived:public Base
{
public:
  void fun( ){cout<<"Derived function"<<endl;}
};
void main( )
{
  Base b;
Derived* p=&b;
b.fun( );
p->fun( );
}
25.下面的程序有一处错误,请用下横线标出错误所在行并说明错误原因。
#include<iostream.h>
class A
{
  int x;
protected:
  int y;
public:
A(int xx,int yy){x=xx; y=yy;}
};
class B:public A
{
public:
  B(int a,int b):A(a,b){}
  void display( ){cout<<x<<′,′<<y<<endl;}
};
void main( )
{
  B b(5,10);
  b.display( );
}

Tags:自学考试 历年真题
】【打印繁体】 【关闭】 【返回顶部
上一篇全国2005年10月自考面向对象程序.. 下一篇全国2011年7月自考离散数学试题 ..

网站客服QQ: 960335752 - 14613519 - 48225117