面向对象程序设计课后答案_第1页
面向对象程序设计课后答案_第2页
面向对象程序设计课后答案_第3页
面向对象程序设计课后答案_第4页
面向对象程序设计课后答案_第5页
已阅读5页,还剩5页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向对象程序设计课后答案(完整版)

第二章2-4

Sinclude

usingnamespacestd;

Add(inta,intb);

intmain()

(

intx,y,sum;

cout>x>>y;

sum=add(x,y);

cout>*p;

p++;

)

P=p-20;

for(i=0;iO)countp++;

if(*p>age;

try

(

checkagescore(name,age);

catch(string)

continue;

catch(int)

(

continue;

)

return0;

}

第三章

3-1

(1)A(2)C⑶B(4)C⑸C

(6)B(7)B(8)C(9)C

3-7

(1)

main()函数中

pl.age-30;语句是错误的。“ge是类的私有成员

(2)

构造函数应当给常数据成员和引用成员初始化,将构造

函数改为:A(intal,intbl):a(al),b(bl){)

或者

A(intal):a(al),b(a){}再将main中的Aa(l,2);改

为Aa(l);

(3)

(1)在Test类中添加语句:

voidprint();

voidPrint(){

}

改为

voidTest::Print(){

)

main函数中

Init(38,15);改为:

A.Init(38,15);

Print。;改为:

A.Print();

3-8

(1)

ConstructingA

ConstructingB

DestructingB

DestructingA

(2)

doublea,doubleb

point&p

p.x

3-9

classbox

(

intlenl,len2,len3;

public:

box(int11,int12,int13){lenl=11;len2=12;len3

13;}longvolumnO{returnIenl*len2*len3;}

);

3-10

classTest{

intml,m2;

public:

voidInit(inta,intb){ml=a;m2=b;}

);

3-11

略

3-12

)

第四章

4-6

(1)D(2)D(3)D(4)D(5)B

(6)I)

4-7

(1)

staticintcount=0;这样初始化静态成员值是不对

的将其改为staticintcount;

在类外,main函数前加

intSample::count=0;

(2)

ttinclude

//#include

usingnamespacestd;

classCtest

private:

intx;constintyl;

public:

constinty2;

Ctest(intil,inti2):yl(il),y2(i2)

(

yl=10;//yl为常量不能赋值

x二yl;

)

intreadme()const;

);

intCtest::readme()const

(

inti;

i二x;

x++;〃常函数内不能改变成员值

returnx;

)

intmain()

(

Ctestc⑵8);

inii=c.y2;

c.y2=i;//y2为常量,不能改值

i=c.yl;//yl私有,类外不能访问

return0;

将出错语句全部注释

4-8

(1)

题中印刷错误,将classC构造函数改为:

CO

运行结果为:

constructorA

constructorB

constructorC

(2)

40

(3)

3

4

3

4-9#include

ttinclude

classDate

intyear;

intmonth;

intday;

public:

Date(inty,intm,intd)

(

year=y;month=m;day=d;

)

voiddisp()

friendintcount_day(Date&d,intk);

friendint1(intyear);

friendinth(Date&dl,Date&d2);

);

intcountday(Date&d,intk)

(

staticint

day_tab[2][12]={{31,28,31,30,31,30,31,31,30,31,30,3

1),

{31,29,31,30,31,30,31,31,30,31,30,31}};

//使用二维数组存放各月天数,第一行对应非闰年,

第二行对应闰年

intj,i,s;

if(1(d.year))

j=l;〃闰年,取1

elsej=0;〃非闰年,取0

if(k)//K非0时

(

s=d.day;

for(i=l;i<d.month;i++)〃d.month为输入的月份

s+=day_tab[j][i-l];

)

else//K为0时

(

s=day_tab「j]fd.month!-d.day;

for(i=d.month+1;i<=12;i++)

s+=day_tab[j][i-l];

}

returns;//S为相差的天数

}

int1(intyear)

if(year%4==0&&year%100!=0||year%400==0)//是闰

年

return1;

else//不是闰年

return0;

}

inth(Date&dl,Date&d2)

(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论