欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    实验二 面向对象编程.doc

    • 资源ID:70333137       资源大小:83KB        全文页数:12页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    实验二 面向对象编程.doc

    实验二 面向对象编程一、 实验目的:掌握类与对象的定义方法,成员函数的实现与调用方法,领会类实现数据隐藏与封装的原理。二、 实验时间:三、 实验地点:四、 实验内容:1、 编写Circle类,有数据成员Radius, 成员函数get_area()用于计算面积, get_perimeter()用于计算周长, disp( )用于显示面积和周长, set_radius()设置半径, get_radius()获取半径。 完善必要的构造函数,构造一个Circle的对象进行测试,对构造函数和析构函数的调用情况进行分析。2、 编写圆柱体类Cylinder,有数据成员Circlr对象和长度Len, 成员函数get_vol() 计算体积, get_area()计算表面积。完善必要的构造函数和拷贝构造函数,构造Cylinder的对象进行测试。对构造函数,拷贝构造函数和析构函数的调用情况进行分析。3、 设计学生类Stu,含no(学号),name(姓名),deg(成绩)数据成员,成员函数有setdata()用于设置对象,disp()用于输出8089分段学生数据。在main()中定义对象数组,用于存储输入学生数据。五、实验要求: 在上机前写出全部源程序; 六、实验结果分析:源程序及结果分析:1. Circle类#include <iostream>using namespace std;const float PI = 3.14;class Circle public: Circle (float r); float set_radius();/设置半径, float get_radius();/获取半径。 float get_area();/用于计算面积, float get_perimeter();/用于计算周长, void disp( );/用于显示面积和周长, Circle(); private: float Radius;Circle:Circle(float r) Radius = r; cout<<"构造函数调用成功"<<endl;float Circle:set_radius()/用来设置圆的半径float r;Radius = r;return Radius;float Circle:get_radius()/用于获取圆的半径return Radius;float Circle:get_perimeter() return 2*PI*Radius;float Circle:get_area() return PI*Radius*Radius;void Circle:disp() cout<<"The perimeter is "<<get_perimeter()<<endl; cout<<"The area is "<<get_area()<<endl;Circle:Circle() cout<<"析构函数调用成功"<<endl;int main() Circle circle(5.5); cout<<"The Radius is 5.5"<<endl; circle.disp(); return 0; 结果分析:2. 圆柱体类Cylinder#include<iostream>using namespace std;const float PI = 3.14;class Cylinder public: Cylinder(float pCirclr,float pLen); Cylinder(Cylinder &c); float get_vol(); float get_area(); Cylinder(); private: float Circlr,Len;Cylinder:Cylinder(float pCirclr,float pLen) Circlr=pCirclr; Len=pLen; cout<<"构造函数调用成功"<<endl;Cylinder:Cylinder(Cylinder &c) Circlr=c.Circlr; Len=c.Len; cout<<"拷贝构造函数调用成功"<<endl;float Cylinder:get_vol() return PI*Circlr*Circlr*Len;float Cylinder:get_area() return 2*PI*Circlr*Circlr+2*PI*Circlr*Len;Cylinder:Cylinder() cout<<"析构函数调用成功"<<endl;int main() float pCirclr; float pLen; cout<<"Input r and high:" cin>>pCirclr; cin>>pLen; Cylinder c1(pCirclr,pLen); Cylinder c2(c1); cout<<"The volume is:"<<c2.get_vol()<<endl; cout<<"The area is:"<<c2.get_area()<<endl; return 0;结果分析:3. Student 类#include<iostream>#include<string.h>using namespace std;class Student public: Student();/构造函数 void setdata(); /输入信息 void disp(); /结果输出 private: int no; char name20; float deg;Student:Student()void Student:setdata() int pno; char pname20; float pdeg; cin>>pno; cin>>pname; cin>>pdeg; no=pno; strcpy(name,pname); deg=pdeg;void Student:disp() if (deg<=89&deg>=80) cout<<"no:"<<no<<" name:"<<name<<" degree:"<<deg<<endl;int main() Student stu4; /申请对象数组 for(int i=0;i<4;i+) /分别输入每个对象的信息 cout<<"Input number name deg:" stui.setdata(); for(int i=0;i<4;i+) stui.disp(); return 0;结果分析:4.复数类#include <iostream>using namespace std;class Complex public: Complex(); /构造函数 void Input(); /输入实部和虚部 int get_RealPart(); /获取实部 int get_ImaginayPart(); /获取虚部 void Disp(); /结果打印输出 Complex(Complex &p); Complex(); private: int rp; int ip;/构造函数Complex:Complex()/拷贝函数Complex:Complex(Complex &p) rp = p.rp; ip = p.ip;/获取实部int Complex:get_RealPart() return rp;/获取虚部int Complex:get_ImaginayPart() return ip;/输入函数void Complex:Input() cout<<"请输入复数的实部和虚部:" cin>>rp; cin>>ip;/输出函数void Complex:Disp() if(rp!=0&&ip!=0) if(ip>0) cout<<"复数为:"<<rp<<"+"<<ip<<"i"<<endl; else cout<<"复数为:"<<rp<<ip<<"i"<<endl; else if(rp=0&&ip!=0) cout<<"实部为0 复数为:"<<ip<<"i"<<endl; else if(rp!=0&&ip=0) cout<<"虚部为0 复数为:"<<rp<<endl; else cout<<"实部和虚部都为0 复数为:0"<<endl;/析构函数Complex:Complex()int main()Complex c; /申请对象c.Input();c.Disp();return 0;结果分析:5.矩形类#include <iostream>using namespace std;class Point public: Point(); void Input(); /坐标输入函数 float get_x(); /获取横坐标 float get_y(); /获取纵坐标 private: float x,y;class Rectangle public: Rectangle(Point px, Point py); /构造函数 void get_RectangleArea(); /计算面积函数 void Disp(); /面积结构展示函数 private: Point p1, p2; float RectangleArea;Point:Point()/输入坐标void Point:Input() cout<<"Input Coordinate (x, y): " cin>>x>>y;/获取横坐标float Point:get_x() return x;/获取纵坐标float Point:get_y() return y;/构造函数Rectangle:Rectangle(Point px, Point py) p1 = px; p2 = py;/计算矩形的面积void Rectangle:get_RectangleArea() float a,b; a = p1.get_x() - p2.get_x(); b = p1.get_y() - p2.get_y(); RectangleArea = a*b;/面积结果打印void Rectangle:Disp() cout<<"矩形的面积为:"<<RectangleArea<<endl;int main() Point p1, p2; /申请p1, p2两个对象 p1.Input(); /输入第一个点的坐标 p2.Input(); /输入另一个点的坐标 Rectangle Area(p1, p2); /申请Area对象 Area.get_RectangleArea(); Area.Disp(); /计算结果打印 return 0;结果分析:6. 136随机选择不同的7个数#include <iostream>#include <cstdlib>#include <ctime>using namespace std;void GetRandNum(int *r) /生成一个在136间的整数 *r = rand()%36+1;int main() int a7, n = 7; srand(int)time(0); cout<<"136中随机选7个不同数结果如下:"<<endl; while(1) int r = 0, k = 0; GetRandNum(&r); for(int i = 0; i<(7-n); i+) if(ai = r) k+; /如果生成的随机数等于以有的数则K加一 if(k=0) /k=0说明原先生成的数和此时生成的数不重复 a7-n = r; /将生成的数放入生生成数数组 cout<<r<<" " n-; if(n=0) return 0; /结束 结果分析:七、实验心得体会及问题反馈: 本实验主要是对面向对象的编程。同时又外加了简单复数的实现,随机数的选取和矩形面积的计算。这些主要是对面向对象编程的简单的初步熟悉,通过类,对象和实现方法的掌握。又插入对构造函数,复制构造函数和析构函数的复习。我从这个实验中明白了,类与对象的关系,类与类之间的关系,当然最重要的是明白了如何建立他们之间的关系,以此来实现实验或者实际问题的要求。

    注意事项

    本文(实验二 面向对象编程.doc)为本站会员(asd****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开