ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:57.81KB ,
资源ID:28061450      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28061450.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++实验一类与简单对象.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++实验一类与简单对象.docx

1、C+实验一类与简单对象天津理工大学实验报告学院(系)名称:计算机与通信工程学院姓名 学号 专业 计算机科学与技术班级教学 班实验项目实验一 类与简单对象课程名称高级程序设计语言II课程代码实验时间2016年9月6日 第7、8节实验地点计算机软件实验室7-219批改意见成绩教师签字: 实验目的:(1)理解类和对象的概念;(2)掌握类与对象的定义方法;(3)理解类的成员的访问控制的含义,公有和私有成员的区别;(4)掌握构造函数和析构函数的含义与作用、定义方式和实现;(5)能够根据给定的要求定义类并实现类的成员函数; (6)掌握string类的使用方法(7)了解C+面向对象程序设计的基本思想、基本方

2、法和基本步骤;(8)掌握MS Visual C+6.0或DEV C+调试C+程序的基本方法、基本步骤。实验内容:一、实验名称:类和简单对象。二、实验目的:(1)理解类和对象的概念;(2)掌握类与对象的定义方法;(3)理解类的成员的访问控制的含义,公有和私有成员的区别;(4)掌握构造函数和析构函数的含义与作用、定义方式和实现;(5)能够根据给定的要求定义类并实现类的成员函数; (6)掌握string类的使用方法(7)了解C+面向对象程序设计的基本思想、基本方法和基本步骤;(8)掌握MS Visual C+6.0或DEV C+调试C+程序的基本方法、基本步骤。三、练习项目1.输入下列程序,按要求进

3、行实验,并记录实验的结果。#include using namespace std;class Coordinatepublic: Coordinate(int x1, int y1)x=x1; y=y1; Coordinate(Coordinate &p); Coordinate()coutDestructor is called.endl; int getx()return x; int gety()return y;private: int x, y;Coordinate:Coordinate(Coordinate &p) x=p.x; y=p.y; coutCopy initianiz

4、ation constructor is called.endl;int main() Coordinate p1(3,4); Coordinate p2(p1); Coordinate p3=p2; coutp3=(p3.getx(),p3.gety()endl; return 0;(1)记录程序的运行结果(2)将Coordinate类中带有两个参数的构造函数进行修改,在函数体内增加如下语句:cout”Constructor is called.”endl; 重新记录程序的运行结果,并解释输出结果。(3)按下列要求进行测试。在主函数体内,添加如下语句:Coordinate p4;Coordi

5、nate p5(2);测试程序会出现什么错误?为什么?如何对已有的构造函数进行适当的修改?(4)结合第(2)和第(3)步的修改和运行结果:分析创建不同的对象时如何调用适当的构造函数?1. .2.调用一次构造函数。3.Coordinate p4;Coordinate p5(2);错误,因为类没有默认的构造函数,也没有无参数的构造函数和一个参数的构造函数;改正可为: 将Coordinate(int x1, int y1)x=x1; y=y1; 改为Coordinate(int x1=0, int y1=0)x=x1; y=y1;4.系统会自动根据参数的类型和参数的个数,调用合适的函数。2.根据注释

6、语句的提示实现类Date的成员函数,并将完整的程序编译、连接成功以保证程序能够正确运行。#include class Datepublic: void printDate(); /显示日期 void setDay(int); /设置日的值 void setMonth(int); /设置月的值 void setYear(int); /设置年的值private: int day, month, year;int main() Date testDay; testDay.setDay(5); testDay.setMonth(10); testDay.setYear(2010); testDay.p

7、rintDate(); return 0;完整如下:#include class Datepublic: void printDate(); /显示日期 void setDay(int); /设置日的值 void setMonth(int); /设置月的值 void setYear(int); /设置年的值private: int day, month, year;void Date:setDay (int a) day=a;void Date:setMonth (int b) month=b;void Date:setYear (int c) year=c;void Date:printDa

8、te() coutyear.month.dayendl;int main() Date testDay; testDay.setDay(5); testDay.setMonth(10); testDay.setYear(2010); testDay.printDate(); return 0;运行结果:3. 下面是一个计算器类的定义,请完成该类的成员函数的实现,并设计一个主函数使用该类和相关成员函数以测试该类设计的正确性。#include using namespace std;class coutnerpublic: counter(int number); /构造函数 void incre

9、ment(); /给value原值加1 void decrement(); /给value原值减1 int getvalue(); /计数器值 void print(); /显示计数privat取得e: int value; /数据成员;int main() . /定义counter类的几个对象并调用有关成员函数 return 0;程序如下:#include using namespace std;class coutnerpublic: coutner(int number):value(number) /构造函数 void increment(); /给value原值加1 void dec

10、rement(); /给value原值减1 int getvalue(); /取得计数器值 void print(); /显示计数 private: int value; /数据成员;void coutner:increment() /给value原值加1 value=value+1; void coutner:decrement() /给value原值减1 value=value-1; int coutner:getvalue() /取得计数器值 return value; void coutner:print() /显示计数 coutvalues; coutner o1(s); /定义co

11、unter类的几个对象并调用有关成员函数 o1.increment(); o1.print(); coutner o2(s); /定义counter类的几个对象并调用有关成员函数 o2.decrement(); o2.print(); return 0;4.定义一个类ClsName,要求该类设计如下:(1)该类有两个整型数据成员x和y;(2)为该类重载三个不同的构造函数:分别为无参数、带一个参数和带两个参数的构造函数,要求在构造函数中输出必要的信息以示区别;(3)设计2个成员函数用来读取数据成员x和y;(4)设计2个成员函数用来设置数据成员x和y;(5)设计1个成员函数用来在屏幕上打印输出数据

12、成员x和y;(6)在main()函数中用三个不同的构造函数创建3个对象,并使用所有的成员函数对这些对象进行必要的操作。程序如下:#include using namespace std;class ClsName private: int x,y;public: ClsName(int a,int b) x=a;y=b; ClsName(int c) x=c;y=0; ClsName() x=1;y=1; int getx() return x; int gety() return y; void print();void ClsName:print() coutx yendl;int mai

13、n() ClsName o1,o2(3),o3(4,5); o1.print(); o2.print(); o3.print(); return 0;运行结果:5. 建立类cylinder,包括两个数据成员radius和height,分别表示圆柱体的半径和高度, cylinder类的构造函数被传递了两个double值来初始化这两个成员;定义成员函数area()和volume用来求圆柱体的表面积和体积,定义成员函数print()打印cylinder类的相关信息。最后,在主函数中对cylinder类的设计进行测试。程序如下:#include using namespace std;class cy

14、linderprivate: double radius,height,a,v;public: cylinder(double a,double b) radius=a;height=b; double area(); double volume(); void print(cylinder & t);double cylinder:volume() double v; v=height*radius*radius*3.14; return v;double cylinder:area() double a; a=2*radius*3.14*height; return a;void cyli

15、nder:print(cylinder & t) coutarea=t.area() volume=t.volume()endl;int main() cylinder o1(3,3); o1.print(o1); return 0;运行结果:6.定义一个学生类CStudent实现简单的学籍管理功能,要求该类至少实现以下功能:(1) 录入学生的基本信息(包括姓名,学号,性别,年龄,专业,入学时间,各门功课成绩)(2) 输出学生的基本信息(3) 选课(输入时间和所选的课程)(4) 统计每门课的学分绩点(5) 统计每学期的平均学分绩点(6) 统计重考科目(7) 统计重修科目程序如下:#includ

16、e #include using namespace std;class CStudentpublic: CStudent(string n,string nu ,string s,int a,string z,int y,int m,int d,int ma,int e,int cyy) /构造函数 name=n;number=nu;sex=s;age=a;zy=z;year=y;month=m;day=d;math=ma;english=e;c=cyy; void print() /打印出学生信息 cout姓名:namen学号:numbern性别:sexn年龄:agen专业:zyn入学年月

17、日:year.month.dayn数学成绩:math 英语成绩:english c成绩:cnendl; void xuanke(); /声明选课日期,课程函数 float jsjidian(float fenshu) /由分数算绩点函数 float jd; if(fenshu60) jd=0; else if(60=fenshu&fenshu65) jd=1; else if(65=fenshu&fenshu70) jd=1.5; else if(70=fenshu&fenshu75) jd=2; else if(75=fenshu&fenshu80) jd=2.5; else if(80=f

18、enshu&fenshu85) jd=3; else if(85=fenshu&fenshu90) jd=3.5; else if(90=fenshu&fenshu96) jd=4; else jd=4.5; return jd; void jidian(CStudent & t); /声明分别计算每科的绩点函数private: string name,sex,zy,number; int age,year,month,day,math,english,c; float mj,ej,cj;void CStudent:xuanke() /定义选课日期,课程函数 int nian,yue,ri;

19、cout输入选课年月日nianyueri; coutnkecheng; cout选课日期为:nian.yue.ri kechengendl;void CStudent:jidian(CStudent & t) /分别计算每科的绩点函数,平均绩点,并打印出来,若绩点为0,则为重考科目,并打印出来 float mjd,ejd,cjd,avejd; mjd=t.jsjidian(math); ejd=t.jsjidian(english); cjd=t.jsjidian(c); cout数学绩点:mjd 英语绩点:ejd c绩点:cjdendl; avejd=(mjd*6+ejd*4+cjd*4)/

20、(6+4+4); cout平均绩点为:avejdnendl; if(mjd=0) cout数学为重考科目endl; if(ejd=0) cout英语为重考科目endl; if(cjd=0) coutc为重考科目endl;int main() CStudent o1(raven,20091945,男,21,计算机科学与技术,2009,9,12,94,76,91); o1.print(); o1.xuanke(); o1.jidian(o1); CStudent o2(calar,20091999,男,21,计算机科学与技术,2009,9,12,34,36,91); o2.print(); o2.xuanke(); o2.jidian(o1); return 0;运行结果:注意:(1)新设计的类中所需要的数据成员需要根据所要实现的功能自行设计;(2)用一个演示程序完成对所设计的新类的功能测试,并给出测试数据和实验结果;(3)为增加程序可读性,请在程序中对类成员进行适当注释说明;实验要求:(1)实验前做好预习,并写出预习报告。(2)实验期间禁止做与实验无关的项目、以及浏览网页、打游戏等。(3)认真完成并按时提交实验报告。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1