全国高等教育自学考试面向对象程序设计试题自考试题及答案Word格式文档下载.docx

上传人:b****7 文档编号:22096954 上传时间:2023-02-02 格式:DOCX 页数:13 大小:18.41KB
下载 相关 举报
全国高等教育自学考试面向对象程序设计试题自考试题及答案Word格式文档下载.docx_第1页
第1页 / 共13页
全国高等教育自学考试面向对象程序设计试题自考试题及答案Word格式文档下载.docx_第2页
第2页 / 共13页
全国高等教育自学考试面向对象程序设计试题自考试题及答案Word格式文档下载.docx_第3页
第3页 / 共13页
全国高等教育自学考试面向对象程序设计试题自考试题及答案Word格式文档下载.docx_第4页
第4页 / 共13页
全国高等教育自学考试面向对象程序设计试题自考试题及答案Word格式文档下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

全国高等教育自学考试面向对象程序设计试题自考试题及答案Word格式文档下载.docx

《全国高等教育自学考试面向对象程序设计试题自考试题及答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《全国高等教育自学考试面向对象程序设计试题自考试题及答案Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。

全国高等教育自学考试面向对象程序设计试题自考试题及答案Word格式文档下载.docx

B.具有纯虚函数的类称为虚基类

C.一个基类中说明有纯虚函数,其派生类一定要实现该纯虚函数

D.具有纯虚函数的类不能创建类对象

7.下列关于运算符重载的描述中,正确的是(   )

A.可以改变运算符的目数B.可以改变运算符的优先级

C.可以改变运算符的结合性D.可以改变运算符的功能

8.要将类A说明是类B的虚基类,正确的描述是(   )

A.classvirtualB:

publicAB.classB:

virtualpublicA

C.virtualclassB:

publicAD.classB:

publicAvirtual

9.下面关于静态成员的描述中,正确的是(   )

A.静态数据成员是类的所有对象共享的数据

B.类的每个对象都有自己的静态数据成员

C.类的不同对象有不同的静态数据成员值

D.静态数据成员不能通过类的对象访问

10.假设Sample是个类,则语句“Samplea[2],*p[3];

”调用构造函数的次数为(   )

A.0B.2

C.3D.5

二、填空题(本大题共10小题,每小题2分,共20分)

请在每小题的空格中填上正确答案。

错填、不填均无分。

11.在面向对象的程序设计中,将一组对象的共同特性抽象出来形成________________。

12.在C++中要创建一个文件输入流对象fin,同时该对象打开文件“Test.txt”用于输入,则正确的声明语句是________________。

13.如果要把类B的成员函数voidfun()说明为类A的友元函数,则应在类A中加入语句________________。

14.A是一个类,已有语句“A*p;

p=newA[10];

”。

要释放由p指向的动态空间,正确的语句应该是________________。

15.如果一个引用不是用作函数参数或返回值,则在说明该引用时必须对它进行________________。

16.如果要把PI声明为值为3.14159类型为双精度实数的符号常量,该声明语句是________________。

17.在C++中函数原型不但要标识一个函数的返回类型,同时还要标识该函数的________________。

18.类A的后置自增运算符++以成员函数的形式进行重载,其在类内的函数声明是________________。

19.动态联编是通过基类类型的指针或引用调用________________函数来完成。

20.基类的保护成员通过私有派生其在派生类中的访问权限是________________。

三、改错题(本大题共5小题,每小题2分,共10分)

21.下面的类定义中有一处错误,请用下横线标出错误所在行并给出修改意见。

classSample

{

private:

  intdata;

  Sample(){data=10;

}

public:

  Sample(intd){data=d;

  intoperatorint(){returndata;

};

22.下面的类定义中有一处错误,请用下横线标出错误所在行并给出修改意见。

#include<

iostream.h>

classPoint

  intX,Y;

  Point(){X=0;

Y=0;

  Point(intx=0,inty=0){X=x;

Y=y;

  voiddisplay(){cout<

X<

"

"

Y<

endl;

23.下面的程序有一处错误,请用下横线标出错误所在行并说明错误原因。

template<

classT>

voidSwap(T&

a,T&

b)

  Tt;

  t=a,a=b,b=t;

voidmain()

  inta=3,b=4;

  charstr1[5]=”abcd”,str2[5]=”hijk”;

  Swap(a,b);

  Swap(str1,str2);

  cout<

”a=”<

a<

”,b=”<

b<

”str1=”<

str1<

”,str2=”<

str2<

24.下面的程序有一处错误,请用下横线标出错误所在行并说明错误原因。

classBase

  virtualvoidfun(){cout<

Basefunction"

classDerived:

publicBase

  voidfun(){cout<

Derivedfunction"

  Baseb;

Derived*p=&

b;

b.fun();

p->

fun();

25.下面的程序有一处错误,请用下横线标出错误所在行并说明错误原因。

classA

  intx;

protected:

  inty;

A(intxx,intyy){x=xx;

y=yy;

classB:

publicA

  B(inta,intb):

A(a,b){}

x<

′,′<

y<

  Bb(5,10);

  b.display();

四、完成程序题(本大题共5小题,每小题4分,共20分)

根据题目要求,完成程序填空。

26.请在下面程序的横线处填上适当内容,以使程序完整,并使程序的输出为:

   2,1

   4,3

{

  inta;

  A(inti=0){a=i;

  intGeta(){returna;

classB

  Aa;

  intb;

  B(inti=0,intj=0):

①       {}

a.Geta()<

  Bb[2]={B(1,2),B(3,4)};

  for(inti=0;

i<

2;

i++)

    ②       ;

27.下面程序中A是抽象类。

请在下面程序的横线处填上适当内容,以使程序完整,并使程序的输出为:

   B1called

   B2called

  ①           ;

classB1:

”B1called”<

classB2:

”B2called”<

voidshow(②       )

  p->

display();

  B1b1;

  B2b2;

  A*p[2]={&

b1,&

b2};

    show(p[i]);

28.请在下面程序的横线处填上适当内容,以使程序完整,并使程序的输出为:

   Name:

王小明

   Grade:

90

string.h>

classPerson

  charname[20];

  Person(char*s){strcpy(name,s);

”Name:

”<

name<

classStudent:

publicPerson

  intgrade;

  Student(char*s,intg):

①       {grade=g;

voiddisplay()

  ②       ;

”Grade:

grade<

  Students(“王小明”,90);

  s.display();

29.请在下面程序的横线处填上适当内容,以使程序完整,并使程序的输出为5。

classInteger

  Integer(inta=0){x=a;

  ①            ;

IntegerMax(Integera,Integerb)

  if(②       )

    returna;

  returnb;

  Integera(3),b(5),c;

  c=Max(a,b);

  c.display();

30.请在下面的横线处填上适当内容,以使类的定义完整。

classArray

  int*ptr;

  intsize;

  Array(){size=0;

ptr=0;

  Array(intn){size=n;

ptr=newint[size];

  Array(①       )   //复制初始化构造函数

  {

    size=a.size;

for(inti=0;

size;

  ②       ;

   //将源对象的动态数组内容复制到目标对象

  }

五、程序分析题(本大题共6小题,每小题5分,共30分)

阅读下面的程序,写出程序运行的结果。

31.#include<

classTest

    intnum;

    Test(intn=0){num=n;

num++;

    ~Test(){cout<

”Destructorisactive,number=”<

num<

    Testx[2];

    cout<

”Exitingmain”<

32.#include<

  virtualvoidfun(intdata){cout<

”classA:

data<

  voidfun(char*str){cout<

str<

}

publicA

  voidfun(){cout<

”classB”<

  voidfun(intdata){cout<

”classB:

  A*pA;

  Bb;

  pA=&

  pA->

fun

(1);

fun(“Hello”);

33.#include<

  cout.fill('

*'

);

cout.width(10);

cout<

123.45"

cout.width(8);

cout.width(4);

34.#include<

classNum

  Num(intx,inty=0){X=x;

voidvalue(intx,inty=0){X=x;

voidvalue(){

X;

if(Y!

=0)

(Y>

0?

’+’:

’-’)<

Y:

-Y)<

’i’;

voidmain()

  Numn

(1);

n.value();

n.value(2,3);

Numm(3,-4);

m.value();

35.#include<

  inti;

  staticintcount;

  Sample();

  voiddisplay();

Sample:

:

Sample()

  i=0;

  count++;

voidSample:

display()

i="

i++<

count="

count<

intSample:

count=0;

  Samplea,b;

a.display();

b.display();

36.#include<

  A(intaa=0){a=aa;

a="

classB

  B(intbb=0){b=bb;

b="

classC:

publicB

  C(){cout<

”Cdefaultconstructor”<

  C(inti,intj):

a(i),B(j){cout<

”Cconstructor”<

  Cc1,c2(5,6);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 销售营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1