实验报告模板实验1类和简单对象.docx
《实验报告模板实验1类和简单对象.docx》由会员分享,可在线阅读,更多相关《实验报告模板实验1类和简单对象.docx(14页珍藏版)》请在冰点文库上搜索。
实验报告模板实验1类和简单对象
天津理工大学
计算机与通信工程学院
实验报告
至学年第学期
课程名称
实验
(1)
实验名称
类和简单对象
实验时间
学号姓名
专业
主讲教师
辅导教师
软件环境
硬件环境
实验目的
(1)理解类和对象的概念;
(2)掌握类与对象的定义方法;
(3)理解类的成员的访问控制的含义,公有和私有成员的区别;
(4)掌握构造函数和析构函数的含义与作用、定义方式和实现;
(5)能够根据给定的要求定义类并实现类的成员函数;
(6)掌握string类的使用方法
(7)了解C++面向对象程序设计的基本思想、基本方法和基本步骤;
(8)掌握MSVisualC++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<<”Constructoriscalled.”<重新记录程序的运行结果,并解释输出结果。
(3)按下列要求进行测试。
在主函数体内,添加如下语句:
Coordinatep4;
Coordinatep5
(2);
测试程序会出现什么错误?
为什么?
如何对已有的构造函数进行适当的修改?
2.记录程序的运行结果
3.记录程序的运行结果
4.记录程序的运行结果
5.记录程序的运行结果
附录(可包括源程序清单或其它说明)
1.
(3).
#include
usingnamespacestd;
classCoordinate
{
public:
Coordinate(intx1,inty1){
x=x1;
y=y1;
cout<<"Constructoriscalled."<}
Coordinate(Coordinate&p);
Coordinate(){};
Coordinate(inti){};
~Coordinate(){cout<<"Destructoriscalled."<intgetx(){returnx;}
intgety(){returny;}
private:
intx,y;
};
Coordinate:
:
Coordinate(Coordinate&p){
x=p.x;y=p.y;
cout<<"Copyinitianizationconstructoriscalled."<}
intmain(){
Coordinatep1(3,4);
Coordinatep2(p1);
Coordinatep3=p2;
cout<<"p3=("<Coordinatep4;
Coordinatep5
(2);
return0;
}
2.
#include
classDate{
public:
voidprintDate();//显示日期
voidsetDay(int);//设置日的值
voidsetMonth(int);//设置月的值
voidsetYear(int);//设置年的值
private:
intday,month,year;
};
voidDate:
:
printDate()
{
cout<<"Todayis"<}
voidDate:
:
setDay(intd)
{
day=d;
}
voidDate:
:
setMonth(intm)
{
month=m;
}
voidDate:
:
setYear(inty)
{
year=y;
}
intmain(){
DatetestDay;
testDay.setDay(5);
testDay.setMonth(10);
testDay.setYear(2010);
testDay.printDate();
return0;
};
3.
#include
usingnamespacestd;
classcounter
{
public:
counter(intnumber);//构造函数
voidincrement();//给value原值加1
voiddecrement();//给value原值减1
intgetvalue();//取得计数器值
intprint();//显示计数
private:
intvalue;//数据成员
};
counter:
:
counter(into)
{
value=o;
}
voidcounter:
:
increment()
{
value++;
}
voidcounter:
:
decrement()
{
value--;
}
intcounter:
:
getvalue()
{
returnvalue;
}
intcounter:
:
print()
{
cout<<"Thevalueis"<returnvalue;
}
intmain()
{
intoutput;
counterc(0);
c.increment();
output=c.getvalue();
cout<<"Theoutput(getfromvalue)is"<