面向对象编程.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:4 大小:79KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

面向对象编程.doc

面向对象编程.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验二面向对象编程实验目的:掌握类与对象的定义方法,成员函数的实现与调用方法,领会类实现数据隐藏与封装的原理。实验时间:2010.10.20实验地点:机房实验内容:编写Circle类,有数据成员Radius,成员函数get_area()用于计算面积,get_perimeter()用于计算周长,disp()用于显示面积和周长,set_radius()设置半径,get_radius()获取半径。完善必要的构造函数,构造一个Circle的对象进行测试,对构造函数和析构函数的调用情况进行分析。classCircle{public:Circle(floatr=0)//构造函数{Radius=r;}floatget_area();floatget_perimeter();//计算面积voiddisp();//显示面积和周长voidset_radius();//设置半径floatget_radius();//获取半径private:floatRadius;};Circlea//构造一个Circle的对象编写圆柱体类Cylinder,有数据成员Circlr对象和长度Len,成员函数get_vol()计算体积,get_area()计算表面积。完善必要的构造函数和拷贝构造函数,构造Cylinder的对象进行测试。对构造函数,拷贝构造函数和析构函数的调用情况进行分析。classCylinder{private:floatlen;Circleci;public:Cylinder(){}Cylinder(floatl,Circlec):ci(c){len=l;}floatget_vol()//计算体积{returnci.get_area()*len;}floatget_area()//计算表面积{returnci.get_area()*2+ci.get_perimeter()*len;}};Cylindercy(lenth,c)//构造Cylinder的对象cy设计学生类Stu,含no(学号),name(姓名),deg(成绩)数据成员,成员函数有setdata()用于设置对象,disp()用于输出80—89分段学生数据。在main()中定义对象数组,用于存储输入学生数据。classStu//构造Stu类{private:char*no;char*name;floatdeg;public:Stu(){}Stu(char*sno,char*sname,floatsdeg){deg=sdeg;no=newchar[strlen(sno)+1];strcpy(no,sno);name=newchar[strlen(sname)+1];strcpy(name,sname);}voidsetdata()//设置对象{cout<<"pleaseinputadeg"<<endl;cin>>deg;cout<<"pleaseinputanumber"<<endl;chara[10];cin>>a;no=newchar[strlen(a)+1];strcpy(no,a);cout<<"pleaseinputaname"<<endl;cin>>a;name=newchar[strlen(a)+1];strcpy(name,a);}voiddisp()//输出数据{if(deg>=80&&deg<=89)cout<<deg<<""<<name<<""<<no<<endl;}Stub[2];//定义对象数组};实验要求:在上机前写出全部源程序;第一题:HYPERLINK"2.1.cpp"源程序HYPERLINK"2.1.exe"可执行程序第二题:HYPERLINK"2.2.cpp"源程序HYPERLINK"2.2.exe"可执行程序第三题:HYPERLINK"2.3.cpp"源程序HYPERLINK"2.3.exe"可执行程序六、实验结果分析:第一题结果:设圆半径为2.3面积周长正确第二题结果:设圆柱高为5.1底面半径为1.3体积和表面积计算结果正确第三题结果:此处有两个学生a和b学号分别为1和2成绩分别为53和86。由于b的程序86在81和89之间最后输出该学生的成绩姓名和学号,符合题意七、实验心得体会及问题反馈:此次实验主要考察类和对象的构造以及对函数调用过程。在实验中比较容易出错的部分是参数传递,经常在设计中就把关系弄混了,所以最后属性名和成员函数中的参数名取不同名字