c++上机实验答案实验七.doc_第1页
c++上机实验答案实验七.doc_第2页
c++上机实验答案实验七.doc_第3页
c++上机实验答案实验七.doc_第4页
c++上机实验答案实验七.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

中国矿业大学计算机学院实验报告课程名称 高级程序设计语言 实验名称_七、面向对象一 _实验报告要求:1.实验目的 2.实验内容 3.实验步骤 4.运行结果 5.流程图 6.实验体会 一、实验目的1. 掌握类的概念、类的定义、类与结构的关系、类的成员属性和类的封装性;2. 掌握对象的定义、初始化和赋值方法,熟悉构造函数、析构函数的编写;3. 理解类的成员的访问控制的含义,公有、私有和保护修饰符的区别;4. 初步掌握用类和对象编制基于对象的程序;5. 学会检查和调试基于对象的程序。二、实验内容1.#includeusing namespace std;class Timepublic:void set_time();void show_time();private:int hour;int minute;int second;void Time:set_time()cinhour;cinminute;cinsecond;void Time:show_time()couthour:minute:secondendl;int main()Time t1;t1.set_time();t1.show_time();return 0;2游泳池改造预算,Circle类一圆型游泳池如下图所示,现在需要在其周围建一圆型过道,并在其四周围上栅栏。栅栏价格为35元/米,过道造价为20元/平方米。过道宽度为3米,游泳池半径由键盘输入。要求编程计算并输出过道和栅栏的造价using namespace std; const float pi=(float)3.1415926; const float fenceprice=35.; const float concreteprice=20.; class circle public: circle(float r); float circumference(); float area(); private: float radius; ; circle:circle(float r)radius=r; float circle:circumference() return(2*pi*radius); float circle:area() /这里少了circle: return pi*radius*radius; int main() float radius; float fencecost,concretecost; coutradius; circle pool(radius); circle poolrim(radius+3); fencecost=poolrim.circumference()*fenceprice; coutfencing cost is ¥fencecostendl; concretecost=(poolrim.area()-pool.area()*concreteprice; coutconcrete cost is ¥concretecostendl; return 0;3.创建一个名为Complex的类,进行复数的算术运算。复数的形式为:realpart+imaginarypart*i用浮点变量表示类的private数据。提供构造函数,能够对所声明的该类对象进行初始化。在不提供初始化值的情况下,该构造函数应包含默认值。针对以下功能,分别提供一个public成员函数。a) 两个复数相加;b) 两个复数相减用(a, b)的形式打印复数,其中a为实部,b为虚部#includeusing namespace std;class complexprivate:float realpart; float imaginarypart;public: void set(); complex minus(complex&c2); void print(); complex() realpart =0; imaginarypart=0;complex(float r, float i)realpart =r; imaginarypart=i;complex plus(complex&c2);void complex:set() cout请输入:realpartimaginarypart;complex complex:plus (complex&c2)complex c;c.realpart =realpart+c2.realpart ;c.imaginarypart =imaginarypart+c2.imaginarypart ;return c;complex complex:minus (complex&c2)complex d;d.realpart =realpart-c2.realpart ;d.imaginarypart =imaginarypart-c2.imaginarypart ;return d;void complex: print()cout(realpart,imaginaryparti)endl;void main()complex c1,c2,c3,c4; c1.set(); c2.set ();c3=c1.plus(c2) ;coutc1+c2=endl;c3.print ();c4=c1.minus (c2);coutc1-c2=;c4.print ();4.设计一个整数集合类,具有置空、添加元素、判断元素是否在集合中、求交集、输出显示集合元素等功能。#include using namespace std;class integerpublic:void set(); /设置整数组数据void add(); /添加元素函数void del(); /置空函数friend void inter(integer &a,integer &b); /求交集的函数void decide(); /判断元素是否在集合中的函数void show(); /输出显示集合元素的函数private:int num50; /整数集合int k; /整数集合的元素个数;void integer:set()int p;coutk;cout请输入集合的元素:;for(p=0;pnump;void integer:add()char d;do int z,q; bool leap=true;coutz;for(q=0;qk;q+)if(numq=z)leap=false;break;if(leap)numk=z;cout添加成功!endl; coutd;if(!leap) coutd;while(d=y|d=Y);void integer:del()int m;char x;do coutm; for(;mk;m+) numm-1=numm; if(mk) k-; cout置空成功!endl; else cout集合中不包含此元素endl; coutx;while(x=y|x=Y);void integer:decide()int n,f;char y;do bool flag=false;coutn;for(f=0;fk;f+)if(numf=n)flag=true;cout此数在集合里面endl;break;if(!flag)cout此数不在集合里面endl;couty;while(y=y|y=Y);void integer:show()int l,loop=0;for(l=0;lk;l+)coutnuml ; loop+;if(loop=5)coutendl; coutendl;void inter(integer &a,integer &b)int i,j,e=0;cout两集合的交集:endl;for(i=0;ia.k;i+)for(j=0;jb.k;j+)if(a.numi=b.numj)coutb.numj ; e+;if(e=5)coutendl;coutendl;int main()integer t1,t2;cout请设置集合一endl;t1.set();cout请设置集合二endl;t2.set();cout在集合一中添加元素endl; t1.add();cout在集合二中添加元素endl;t2.add(); cout在集合一置空元素endl; t1.del();cout在集合二置空元素endl;t2.del();cout求集合一和集合二的交集endl; inter(t1,t2);cout判断元素是否在集合一中endl;t1.decide();cout判断元素是否在集合二中endl;t2.decide();cout

温馨提示

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

评论

0/150

提交评论