面向对象程序设计期末复习题与答案1Word文件下载.docx

上传人:b****1 文档编号:13632079 上传时间:2022-10-12 格式:DOCX 页数:16 大小:19.08KB
下载 相关 举报
面向对象程序设计期末复习题与答案1Word文件下载.docx_第1页
第1页 / 共16页
面向对象程序设计期末复习题与答案1Word文件下载.docx_第2页
第2页 / 共16页
面向对象程序设计期末复习题与答案1Word文件下载.docx_第3页
第3页 / 共16页
面向对象程序设计期末复习题与答案1Word文件下载.docx_第4页
第4页 / 共16页
面向对象程序设计期末复习题与答案1Word文件下载.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

面向对象程序设计期末复习题与答案1Word文件下载.docx

《面向对象程序设计期末复习题与答案1Word文件下载.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计期末复习题与答案1Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。

面向对象程序设计期末复习题与答案1Word文件下载.docx

填空题1.假定AB为一个类,则执行“ABa[10];

”语句时,系统自动调用该类的构造函数的次数为_________。

答案:

10

2.可以用p.a的形式访问派生类对象P的基类成员a,其中a是_________。

公有继承的公有成员

3.能作为重载函数的调用的依据是_________。

参数个数、参数类型

4.在进行完任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;

其中只能用于检测输入流是否结束状态的操作函数名称是_________

eof

5.函数重载是指_________。

两个或两个以上的函数取相同的函数名,但形参的个数或类型不同

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

参数个数

阅读程序例题【计算题】

1.分析以下程序的执行结果

#include<

iostream.h>

classSample

{

intx,y;

public:

Sample(){x=y=0;

}

Sample(inta,intb){x=a;

y=b;

~Sample()

if(x==y)

cout<

<

“x=y”<

endl;

else

“x!

=y”<

voiddisp()

“x=”<

x<

“,y”=<

y<

};

voidmain()

Samples1,s2(2,3);

s1.disp();

s2.disp();

解:

x=0,y=0

x=2,y=3

x!

=y

x=y

2.分析以下程序的执行结果

intadd(intx,inty)

returnx+y;

intadd(intx,inty,intz)

returnx+y+z;

inta=4,b=6,c=10;

add(a,b)<

<

add(a,b,c)<

10,203.分析以下程序执行结果

doubleadd(doublex,doubley)

inta=4,b=6;

doublec=2.6,d=7.4;

"

"

add(c,d)<

10,10

4.分析以下程序执行的结果

Sample(){x=y=0;

Sample(inta,intb){x=a;

x="

y="

Samples1,s2(1,2),s3(10,20);

Sample*pa[3]={&

s1,&

s2,&

s3};

for(inti=0;

i<

3;

i++)

pa[i]->

disp();

x=1,y=2

x=10,y=205.分析以下程序的执行结果:

classbase

intn;

base(){};

base(inta)

cout<

"

constructingbaseclass"

<

endl;

n=a;

cout<

n="

n<

~base(){cout<

destructingbaseclass"

}

classsubs:

publicbase

intm;

subs(inta,intb):

base(a)

constructingsubclass"

m=b;

m="

m<

~subs(){cout<

destructingsubclass"

voidmain()

subss(1,2);

}

constructingbaseclass

n=1

constructingsubclass

m=2

destructingsubclass

destructingbaseclass

6.分析以下程序的执行结果:

#include<

protected:

intx;

Sample(){x=0;

Sample(intval){x=val;

voidoperator++(){x++;

classDerived:

publicSample

inty;

Derived():

Sample(){y=0;

Derived(intval1,intval2):

Sample(val1){y=val2;

voidoperator--(){x--;

y--;

cout<

x<

y<

Derivedd(3,5);

d.disp();

d++;

d.disp();

d--;

x=3,y=5

x=4,y=5

7分析以下程序执行结果:

classA

A(char*s){cout<

s<

~A(){}

classB:

publicA

B(char*sl,char*s2):

A(sl)

s2<

classC:

C(char*sl,char*s2):

classD:

publicB,publicC

D(char*sl,char*s2,char*s3,char*s4):

B(sl,s2),C(sl,s3)

s4<

Dd("

classA"

classB"

classC"

classD"

);

classB

classC

classD补充例题

1.分析以下程序的执行结果

template<

classT>

Tmax(Tx,Ty)

{return(x>

y?

x:

y);

}

{cout<

max(2,5)<

“,”<

max(3.5,2.8)<

解答:

5,3.52.分析以下程序的执行结果

inta[]={10,20,30,40},*pa=a;

int*&

pb=pa;

pb++;

*pa<

输出为:

203.分析以下程序的执行结果

Tabs(Tx)

0?

-x);

abs(-3)<

abs(-2.6)<

输出为:

3,2.6

4.分析以下程序的执行结果

charc1,c2;

Sample(chara){c2=(c1=a)-32;

c1<

“转换为”<

c2<

Samplea('

a'

),b('

b'

a.disp();

b.disp();

a转换为A

b转换为B5.分析以下程序的执行结果

inta;

int&

b=a;

//变量引用

b=10;

“a=”<

a<

a=106.分析以下程序的执行结果

Sample(){};

Sample(inta){x=a;

Sample(Sample&

a){x=a.x+++10;

voiddisp(){cout<

{Samples1

(2),s2(s1);

x=3//++运算的结果

x

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

当前位置:首页 > 幼儿教育 > 唐诗宋词

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

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