面向对象C++习题参考解答_第1页
面向对象C++习题参考解答_第2页
面向对象C++习题参考解答_第3页
面向对象C++习题参考解答_第4页
面向对象C++习题参考解答_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

面向对象C++习题参考解答面向对象C++习题参考解答面向对象C++习题参考解答资料仅供参考文件编号:2022年4月面向对象C++习题参考解答版本号:A修改号:1页次:1.0审核:批准:发布日期:4-8定义一个Dog类,包含age,weight等属性,以及对这些属性操作的方法。实现并测试这个类。#include<iostream>usingnamespacestd;classDog{public: voidsetAge(inta) { age=a; } intgetAge() { returnage; } voidsetWeight(floatw) { weight=w; } floatgetWeight() { returnweight; }private: intage; floatweight;};voidmain(){ Dogd; (3); (30); cout<<"小狗:"<<()<<"岁,重"<<()<<"斤。"<<endl;}4-9设计并测试一个名为Rectangle的矩形类,其属性为矩形的左下角与右上角两个点的坐标,根据坐标能计算矩形的面积。#include<iostream>#include<>usingnamespacestd;classRectangle{public: Rectangle(intxx1,intyy1,intxx2,intyy2) { x1=xx1; y1=yy1; x2=xx2; y2=yy2; } floatgetArea() { returnfabs(x2-x1)*fabs(y2-y1); }private: intx1,y1; intx2,y2;};voidmain(){ Rectanglerec(0,0,10,20); cout<<"矩形面积:"<<()<<endl;}4-11定义并实现一个矩形类,有长、宽两个属性,由成员函数计算矩形的面积。#include<iostream>usingnamespacestd;classRectangle{public: Rectangle(intl,intw) { length=l; width=w; } floatgetArea() { returnlength*width; }private: intlength; intwidth;};voidmain(){ Rectanglerec(10,20); cout<<"矩形面积:"<<()<<endl;}4-13定义一个Circle类,有数据成员radius(半径),成员函数getArea(),计算圆的面积,构造一个Circle的对象进行测试。#include<iostream>usingnamespacestd;constfloatPI=;classCircle{public: Circle(floatr) { radius=r; } floatgetArea() { returnradius*PI*PI; }private: floatradius;};voidmain(){ Circlec; cout<<"圆的面积:"<<()<<endl;}4-20定义一个复数类Complex,使得下面的代码能够工作。Complexc1(3,5);Complexc2=;(c2);()

;<<endl; } ~Mammal() { cout<<"DesstructingMammal."<<endl; }};classDog:publicMammal{public: Dog() { cout<<"ConstructingDog."<<endl; } ~Dog() { cout<<"DesstructingDog."<<endl; }};voidmain(){ Dogd;}7-8定义一个Document类,有数据成员name,从Document派生出Book类,增加数据成员pageCount。#include<iostream>usingnamespacestd;classDocument{public: Document(char*n) { strcpy(name,n); } voidshow() { cout<<name; }private: charname[50];};classBook:publicDocument{public: Book(char*n,intp):Document(n),pageCount(p) { } voidshow() { cout<<"书名:"; Document::show(); cout<<endl<<"页数:"<<pageCount<<endl; }private: intpageCount;};voidmain(){ Bookbook("C++语言程序设计",529); ();}7-10定义一个Object类,有数据成员weight及相应的操作函数,由此派生出Box类,增加数据成员height和width及相应的操作函数,声明一个Box对象,观察构造函数与析构函数的调用顺序。#include<iostream>usingnamespacestd;classObject{public: Object() { cout<<"ConstructingObject."<<endl; } ~Object() { cout<<"DestructingObject."<<endl; } voidsetWeight(intw) { weight=w; } intgetWeight() { returnweight; }private: intweight;};classBox:publicObject{public: Box() { cout<<"ConstructingBox."<<endl; } ~Box() { cout<<"DestructingBox."<<endl; } voidsetHeight(inth) { height=h; } intgetHeight() { returnheight; } voidsetWidth(intw) { width=w; } intgetWidth() { returnwidth; }private: intheight; intwidth;};voidmain(){ Boxbox; (5); (10); (8); cout<<"盒子:高"<<()<<",宽"<<()<<",重"<<()<<endl;}8-4#include<iostream>usingnamespacestd;classCounter{public: Counter(intii=0) { i=ii; } voidprint() { cout<<"i="<<i<<endl; } Counteroperator+(inta) { Countertemp; =i+a; returntemp; }private: inti;};voidmain(){ Counterc; c=c+3; (); c=c+5; ();}8-5#include<iostream>usingnamespacestd;classMammal{public: virtualvoidspeak() { cout<<"MammalSpeak!"<<endl; }};classDog:publicMammal{public: virtualvoidspeak() { cout<<"DogSpeak!"<<endl; }};voidmain(){ Dogd; (); Mammal*p=&d; p->speak();}8-7#include<iostream>usingnamespacestd;classPoint{public: Point(intx=0,inty=0) { X=x; Y=y; } voidprint() { cout<<"("<<X<<","<<Y<<")"<<endl; } Point&operator

温馨提示

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

评论

0/150

提交评论