实验报告模板——实验1:类和简单对象(共10页).doc
-
资源ID:5270096
资源大小:107.50KB
全文页数:10页
- 资源格式: DOC
下载积分:20金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
实验报告模板——实验1:类和简单对象(共10页).doc
精选优质文档-倾情为你奉上天津理工大学计算机与通信工程学院实验报告 至 学年 第 学期课程名称实验( 1 )实验名称类和简单对象实验时间学号姓名专业主讲教师辅导教师软件环境硬件环境实验目的(1)理解类和对象的概念;(2)掌握类与对象的定义方法;(3)理解类的成员的访问控制的含义,公有和私有成员的区别;(4)掌握构造函数和析构函数的含义与作用、定义方式和实现;(5)能够根据给定的要求定义类并实现类的成员函数;(6)掌握string类的使用方法(7)了解C+面向对象程序设计的基本思想、基本方法和基本步骤;(8)掌握MS Visual C+6.0调试C+程序的基本方法、基本步骤。实验内容(应包括实验题目、实验要求、实验任务等)1.输入下列程序,按要求进行实验,并记录实验的结果。2.根据注释语句的提示实现类Date的成员函数,并将完整的程序编译、连接成功以保证程序能够正确运行。3.下面是一个计算器类的定义,请完成该类的成员函数的实现,并设计一个主函数使用该类和相关成员函数以测试该类设计的正确性。4.定义一个类ClsName,要求该类设计如下:(1)该类有两个整型数据成员x和y;(2)为该类重载三个不同的构造函数:分别为无参数、带一个参数和带两个参数的构造函数,要求在构造函数中输出必要的信息以示区别;(3)设计2个成员函数用来读取数据成员x和y;(4)设计2个成员函数用来设置数据成员x和y;(5)设计1个成员函数用来在屏幕上打印输出数据成员x和y;(6)在main()函数中用三个不同的构造函数创建3个对象,并使用所有的成员函数对这些对象进行必要的操作。5.建立类cylinder,包括两个数据成员radius和height,分别表示圆柱体的半径和高度, cylinder类的构造函数被传递了两个double值来初始化这两个成员;定义成员函数area()和volume用来求圆柱体的表面积和体积,定义成员函数print()打印cylinder类的相关信息。最后,在主函数中对cylinder类的设计进行测试。6.定义一个学生类CStudent实现简单的学籍管理功能,要求该类至少实现以下功能:(1) 录入学生的基本信息(包括姓名,学号,性别,年龄,专业,入学时间,各门功课成绩)(2) 输出学生的基本信息(3) 选课(输入时间和所选的课程)(4) 统计每门课的学分绩点(5) 统计每学期的平均学分绩点(6) 统计重考科目(7) 统计重修科目注意:(1)新设计的类中所需要的数据成员需要根据所要实现的功能自行设计;(2)用一个演示程序完成对所设计的新类的功能测试,并给出测试数据和实验结果;(3)为增加程序可读性,请在程序中对类成员进行适当注释说明;实验过程与实验结果(可包括实验实施的步骤、算法描述、流程、结论等)1.(1)记录程序的运行结果(2)将Coordinate类中带有两个参数的构造函数进行修改,在函数体内增加如下语句: cout<<”Constructor is called.”<<endl; 重新记录程序的运行结果,并解释输出结果。 (3)按下列要求进行测试。在主函数体内,添加如下语句: Coordinate p4; Coordinate p5(2); 测试程序会出现什么错误?为什么?如何对已有的构造函数进行适当的修改? 2. 记录程序的运行结果 3. 记录程序的运行结果4.记录程序的运行结果 5. 记录程序的运行结果 专心-专注-专业附录(可包括源程序清单或其它说明)1.(3).#include <iostream>using namespace std;class Coordinatepublic:Coordinate(int x1, int y1) x = x1; y = y1; cout << "Constructor is called." << endl;Coordinate (Coordinate &p);Coordinate() ;Coordinate(int i) ;Coordinate () cout << "Destructor 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;cout << "Copy initianization constructor is called." << endl;int main() Coordinate p1(3, 4);Coordinate p2(p1);Coordinate p3 = p2;cout << "p3=(" << p3.getx() << "," << p3.gety() << ")" << endl;Coordinate p4;Coordinate p5(2);return 0;2.#include <iostream.h>class Date public:void printDate(); /显示日期void setDay(int); /设置日的值void setMonth(int); /设置月的值void setYear(int); /设置年的值private:int day, month, year;void Date : printDate() cout << "Today is " << year << "." << month << "." << day << endl;void Date : setDay(int d)day = d;void Date : setMonth(int m) month = m;void Date:setYear(int y)year = y;int main() Date testDay;testDay.setDay(5);testDay.setMonth(10);testDay.setYear(2010);testDay.printDate();return 0;3.#include<iostream>using namespace std;class counterpublic:counter(int number); /构造函数void increment(); /给value原值加1void decrement(); /给value原值减1int getvalue(); /取得计数器值int print();/显示计数private:int value;/数据成员;counter:counter(int o)value = o;void counter:increment()value+;void counter:decrement()value-;int counter:getvalue()return value;int counter:print()cout << "The value is " << value << endl;return value;int main()int output;counter c(0);c.increment();output = c.getvalue();cout << "The output(get from value) is " << output << endl;c.decrement();c.print();c.increment();output = c.print();cout << "The output(get from print() is " << output << endl;return 0;4.#include <iostream>using namespace std;class ClsNameprivate:int x;int y;public:ClsName();ClsName(int);ClsName(int,int);int getx();int gety();void setx(int);void sety(int);void print(); int ClsName:getx()return x; int ClsName:gety()return y; void ClsName:setx(int a)x=a; void ClsName:sety(int b)y=b; void ClsName:print()cout<<"x="<<x<<" y="<<y<<endl; ClsName:ClsName()x=0;y=0; ClsName:ClsName(int a,int b)x=a;y=b;ClsName:ClsName(int c)x=c;y=0; int main()ClsName a;ClsName b(1,2);ClsName c(1);a.print();b.print();c.print();system("pause");return 0; 5.#include<iostream>using namespace std;const double PI=3.14; class cylinderprivate:double radius;double height;public:cylinder(double, double);void setr(double);void seth(double);double area();double volume(); void print();cylinder:cylinder(double r, double h)radius = r;height = h;void cylinder:seth(double h) height = h; void cylinder:setr(double r)radius = r; double cylinder:area() return 2 * PI*radius*height + 2 * PI*radius*radius;double cylinder:volume() return PI*radius*radius*height;void cylinder:print()cout << "The area is " << area() << " and the volume is " << volume() << '.' << endl; int main() cylinder c(1.0, 2.0);c.print();c.seth(1.0);c.setr(2.0);c.print();return 0;