c++面向对象的程序设计耿晓庆等版第56章课后答案.docx

上传人:b****8 文档编号:13016886 上传时间:2023-06-10 格式:DOCX 页数:8 大小:16.87KB
下载 相关 举报
c++面向对象的程序设计耿晓庆等版第56章课后答案.docx_第1页
第1页 / 共8页
c++面向对象的程序设计耿晓庆等版第56章课后答案.docx_第2页
第2页 / 共8页
c++面向对象的程序设计耿晓庆等版第56章课后答案.docx_第3页
第3页 / 共8页
c++面向对象的程序设计耿晓庆等版第56章课后答案.docx_第4页
第4页 / 共8页
c++面向对象的程序设计耿晓庆等版第56章课后答案.docx_第5页
第5页 / 共8页
c++面向对象的程序设计耿晓庆等版第56章课后答案.docx_第6页
第6页 / 共8页
c++面向对象的程序设计耿晓庆等版第56章课后答案.docx_第7页
第7页 / 共8页
c++面向对象的程序设计耿晓庆等版第56章课后答案.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

c++面向对象的程序设计耿晓庆等版第56章课后答案.docx

《c++面向对象的程序设计耿晓庆等版第56章课后答案.docx》由会员分享,可在线阅读,更多相关《c++面向对象的程序设计耿晓庆等版第56章课后答案.docx(8页珍藏版)》请在冰点文库上搜索。

c++面向对象的程序设计耿晓庆等版第56章课后答案.docx

c++面向对象的程序设计耿晓庆等版第56章课后答案

c++面向对象的程序设计(耿晓庆等版)第5~6章课后答案

  

以下是为大家整理的c++面向对象的程序设计(耿晓庆等版)第5~6章课后答案的相关范文,本文关键词为c++,面向,对象,程序设计,耿晓,6章,课后,答案,设计,,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在综合文库中查看更多范文。

  

  *3.设计一个Accout类*/

  #includeusingnamespacestd;classAccount{public:

Account(doubles):

savings(s){}staticvoidmodify(doublenewAnnual){annual+=newAnnual;}doublecaculate(){doubleinterest=savings*annual/12;savings+=interest;returninterest;}doublegetsavings(){returnsavings;}private:

doublesavings;staticdoubleannual;};

  doubleAccount:

:

annual=0.03;

  intmain(){Accountsaver1(2000),saver2(3000);cout  *4.设计并实现一个平面点类point,要求:

*

(1)用x,y两个坐标值表示一个点;*

(2)正确初始化每个点;*(3)计算点到原点的距离;*(4)计算到另一个点的距离;*(5)获取点的x、y坐标值;*(6)设置点的x、y坐标;*(7)移动点到新位置;*/

  #include#includeusingnamespacestd;

  //---------------------------------

  classpoint{public:

point(intpx=0,intpy=0):

x(px),y(py){}doubledistance()const;doubledistance(pointintgetx()const{returnx;}intgetY()const{returny;}voidsetx(intpx){x=px;}voidsetY(intpy){y=py;}voidmoveto(constpointprivate:

intx,y;};

  doublepoint:

:

distance()const{returnsqrt(x*x+y*y);}

  doublepoint:

:

distance(pointintb=pt.y-y;returnsqrt(a*a+b*b);}

  voidpoint:

:

moveto(constpointy=pt.y;}

  //-------------------------------------------intmain(){pointp1(1,3),p2(4,5),p3

(2);cout  *5.设计并实现一个动态整型数组类Vect,要求:

*

(1)采用动态存储空间分配策略管理数组空间;*

(2)初始化指定长度的空Vect;

  *(3)用一个整型内置数组初始化Vect对象;*(4)设计拷贝构造函数和析构函数;

  *(5)Vect对象之间的复制,采用深拷贝策略;

  *(6)存、取指定位置的数组元素,并进行访问越界检查;*(7)获得数组元素个数;*/

  #include#includeusingnamespacestd;classVect{public:

explicitVect(intn=10);Vect(int*a,intsz);Vect(constVect~Vect(){delete[]arr;}voidcopy(constVectintintcount(){returnsize;}private:

intsize;int*arr;};

  Vect:

:

Vect(intn){assert(n>0);size=n;arr=newint[size];}

  Vect:

:

Vect(int*a,intsz){assert(sz>0);size=sz;arr=newint[size];for(inti=0;i  Vect:

:

Vect(constVectarr=newint[size];for(inti=0;i  voidVect:

:

copy(constVectsize=v.size;delete[]arr;arr=newint[size];for(inti=0;i  intreturnarr[index];}

  intmain(){inta[]={1,2,3,4,5,6};Vectv(a,6);for(inti=0;i  *

  *6.设计并实现一个集合类Intset,集合元素范围为1~100,要求:

*

(1)正确初始化集合;

  *

(2)支持集合的交集、并集运算;*(3)判断一个指定整数是否在集合中;

  *(4)将给定整数加入集合,加入前应判断数值范围;*(5)从集合中删除指定元素;*(6)集合对象之间的复制;*(7)获得集合元素个数;*(8)输出集合中的所有元素;*/

  #includeusingnamespacestd;

  //----------------------------------classIntset{public:

Intset();~Intset(){}Intset(constIntsetIntsettrans(constIntsetIntsetmerge(constIntset

  boolin(intnum)const;voidadd(intnum);voiddel(intnum);intcount()const;voidprint()const;private:

staticconstintrange=101;boolele[range];};

  //----------

  Intset:

:

Intset(){for(inti=0;i  Intset:

:

Intset(constIntseti  IntsetIntset:

:

trans(constIntsetfor(inti=0;i  IntsetIntset:

:

merge(constIntsetfor(inti=0;i  boolIntset:

:

in(intnum)const{if(num100)returnfalse;elsereturnele[num];}

  voidIntset:

:

add(intnum){if(num>=1}

  voidIntset:

:

del(intnum){if(num>=1

  

  

  

以下是为大家整理的c++面向对象的程序设计(耿晓庆等版)第5~6章课后答案

(2)的相关范文,本文关键词为c++,面向,对象,程序设计,耿晓,6章,课后,答案,设计,,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在综合文库中查看更多范文。

  

  }

  intIntset:

:

count()const{intn=0;for(inti=1;i  voidIntset:

:

print()const{cout  //--------------------------intmain(){Intsets1,s2;for(inti=1;i  *8.设计并实现一个圆形类circle,要求:

*

(1)由圆心和半径描述圆形;

  *

(2)能够计算面积、计算周长、获取半径、移动和缩放;*(3)合理的初始化;*/

  #includeusingnamespacestd;

  //--------------------------------classcircle{public:

circle(doubler,intpx=0,intpy=0);doublearea()const;doubleperimeter()const;doublegetRadius()const{returnradius;}voidmoveto(intpx,intpy){x=px;y=py;}voidscale(doublefac){radius*=fac;}private:

doubleradius;intx,y;staticconstdoublepI;};

  constdoublecircle:

:

pI=3.1415926;circle:

:

circle(doubler,intpx,intpy){radius=r;x=px;y=py;}

  doublecircle:

:

area()const{returnpI*radius*radius;}

  doublecircle:

:

perimeter()const{returnpI*radius*2;}

  //--------------------------------intmain(){circlec1(2.5);cout  *9.设计并实现一个矩形类Rectangle,要求:

*

(1)用左上角和右下角的坐标描述矩形;*

(2)计算面积、周长;*(3)移动矩形;*(4)合理的初始化;

  */

  #include#includeusingnamespacestd;//-------------------------------classRectangle;classpoint{public:

point(intpx=0,intpy=0):

x(px),y(py){}friendclassRectangle;private:

intx,y;};

  //-------------------------------classRectangle{public:

Rectangle(intlux,intluy,intrdx=0,intrdy=0):

leftup(lux,luy),rightdown(rdx,rdy){}doublearea()const{intx,y;x=leftup.x-rightdown.x;y=leftup.y-rightdown.y;returnabs(x*y);}doubleperimeter()const{intx,y;x=abs(leftup.x-rightdown.x);y=abs(leftup.y-rightdown.y);return(x+y)*2;}voidmove(intx,inty=0){leftup.x+=x;leftup.y+=y;rightdown.x+=x;rightdown.y+=y;}private:

pointleftup,rightdown;};

  //-------------------------------intmain(){Rectangler(1,2,4,5);cout  cout  10、triangle*/

  #include#include#includeusingnamespacestd;

  //-----------------------------------classTriangle{

  public:

Triangle(doublea=1,doubleb=1,doublec=1);~Triangle();doublearea()const;doubleperimeter()const;doublegetA()const;doublegetb()const;doublegetc()const;voidsetA(doublea);voidsetb(doubleb);voidsetc(doublec);private:

doublea,b,c;};

  //----------------------------------//globalfunction

  boolvalidate(doublea,doubleb,doublec){if((a  //--------------------------------

  Triangle:

:

Triangle(doublex,doubley,doublez){boolv=validate(x,y,z);assert(v);a=x;b=y;c=z;}

  Triangle:

:

~Triangle(){}

  //virtualfunctions

  doubleTriangle:

:

area()const{doublep=(a+b+c)/2;doubles=p*(p-a)*(p-b)*(p-c);returnsqrt(s);}

  doubleTriangle:

:

perimeter()const{returna+b+c;}

  //others......

  doubleTriangle:

:

getA()const{returna;}

  doubleTriangle:

:

getb()const{returnb;}

  doubleTriangle:

:

getc()const{returnc;}

  voidTriangle:

:

setA(doubled){boolv=validate(d,b,c);assert(v);a=d;}

  voidTriangle:

:

setb(doubled){boolv=validate(a,d,c);assert(v);b=d;}

  voidTriangle:

:

setc(doubled){boolv=validate(a,b,d);assert(v);c=d;}

  //--------------------------

  intmain(intargc,char*argv[]){

  

  

  

以下是为大家整理的c++面向对象的程序设计(耿晓庆等版)第5~6章课后答案(3)的相关范文,本文关键词为c++,面向,对象,程序设计,耿晓,6章,课后,答案,设计,,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在综合文库中查看更多范文。

  

  Trianglet(5,3,4);cout  *3.设计一个Accout类*/

  #includeusingnamespacestd;classAccount{public:

Account(doubles):

savings(s){}staticvoidmodify(doublenewAnnual){annual+=newAnnual;}doublecaculate(){doubleinterest=savings*annual/12;savings+=interest;returninterest;}doublegetsavings(){returnsavings;}private:

doublesavings;staticdoubleannual;};

  doubleAccount:

:

annual=0.03;

  intmain(){Accountsaver1(2000),saver2(3000);cout  *4.设计并实现一个平面点类point,要求:

*

(1)用x,y两个坐标值表示一个点;*

(2)正确初始化每个点;*(3)计算点到原点的距离;*(4)计算到另一个点的距离;*(5)获取点的x、y坐标值;*(6)设置点的x、y坐标;

  *(7)移动点到新位置;*/

  #include#includeusingnamespacestd;

  //---------------------------------classpoint{public:

point(intpx=0,intpy=0):

x(px),y(py){}doubledistance()const;doubledistance(pointintgetx()const{returnx;}intgetY()const{returny;}voidsetx(intpx){x=px;}voidsetY(intpy){y=py;}voidmoveto(constpointprivate:

intx,y;};

  doublepoint:

:

distance()const{returnsqrt(x*x+y*y);}

  doublepoint:

:

distance(pointintb=pt.y-y;returnsqrt(a*a+b*b);}

  voidpoint:

:

moveto(constpointy=pt.y;}

  //-------------------------------------------intmain(){pointp1(1,3),p2(4,5),p3

(2);cout  *5.设计并实现一个动态整型数组类Vect,要求:

*

(1)采用动态存储空间分配策略管理数组空间;

  *

(2)初始化指定长度的空Vect;

  *(3)用一个整型内置数组初始化Vect对象;*(4)设计拷贝构造函数和析构函数;

  *(5)Vect对象之间的复制,采用深拷贝策略;

  *(6)存、取指定位置的数组元素,并进行访问越界检查;*(7)获得数组元素个数;*/

  #include#includeusingnamespacestd;classVect{public:

explicitVect(intn=10);Vect(int*a,intsz);Vect(constVect~Vect(){delete[]arr;}voidcopy(constVectintintcount(){returnsize;}private:

intsize;int*arr;};

  Vect:

:

Vect(intn){assert(n>0);size=n;arr=newint[size];}

  Vect:

:

Vect(int*a,intsz){assert(sz>0);size=sz;arr=newint[size];for(inti=0;i  Vect:

:

Vect(constVectarr=newint[size];for(inti=0;i  voidVect:

:

copy(constVect

  size=v.size;delete[]arr;arr=newint[size];for(inti=0;i  intreturnarr[index];}

  intmain(){inta[]={1,2,3,4,5,6};Vectv(a,6);for(inti=0;i  *6.设计并实现一个集合类Intset,集合元素范围为1~100,要求:

*

(1)正确初始化集合;

  *

(2)支持集合的交集、并集运算;*(3)判断一个指定整数是否在集合中;

  *(4)将给定整数加入集合,加入前应判断数值范围;*(5)从集合中删除指定元素;*(6)集合对象之间的复制;*(7)获得集合元素个数;*(8)输出集合中的所有元素;*/

  #includeusingnamespacestd;

  //----------------------------------classIntset{

  public:

Intset();~Intset(){}Intset(constIntsetIntsettrans(constIntsetIntsetmerge(constIntsetboolin(intnum)const;voidadd(intnum);voiddel(intnum);intcount()const;voidprint()const;private:

staticconstintrange=101;boolele[range];};

  //----------

  Intset:

:

Intset(){for(inti=0;i  Intset:

:

Intset(constIntseti  IntsetIntset:

:

trans(constIntsetfor(inti=0;i  IntsetIntset:

:

merge(constIntsetfor(inti=0;i  boolIntset:

:

in(intnum)const{if(num100)returnfalse;elsereturnele[num];}

  voidIntset:

:

add(intnum){

  

  

  

以下是为大家整理的c++面向对象的程序设计(耿晓庆等版)第5~6章课后答案(4)的相关范文,本文关键词为c++,面向,对象,程序设计,耿晓,6章,课后,答案,设计,,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在综合文库中查看更多范文。

  

  

最后,小编希望文章对您有所帮助,如果有不周到的地方请多谅解,更多相关的文章正在创作中,希望您定期关注。

谢谢支持!

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2