c++面向对象的程序设计耿晓庆等版第56章课后答案.docx
- 文档编号:13016886
- 上传时间:2023-06-10
- 格式:DOCX
- 页数:8
- 大小:16.87KB
c++面向对象的程序设计耿晓庆等版第56章课后答案.docx
《c++面向对象的程序设计耿晓庆等版第56章课后答案.docx》由会员分享,可在线阅读,更多相关《c++面向对象的程序设计耿晓庆等版第56章课后答案.docx(8页珍藏版)》请在冰点文库上搜索。
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章,课后,答案,设计,,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在综合文库中查看更多范文。
最后,小编希望文章对您有所帮助,如果有不周到的地方请多谅解,更多相关的文章正在创作中,希望您定期关注。
谢谢支持!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 面向 对象 程序设计 耿晓庆 56 课后 答案