面向对象实习报告(共5篇) .docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象实习报告(共5篇) 第1篇:面向对象实_报告实_题目一 1.三个自定义类 本题有三个自定义的类:点类VecPosition,圆类circle,矩形类Rect,运用类的继承思想从这三个类中抽象出公共基类base。其中base中有一个纯虚函数virtual void draw()=0; VecPosition类主要实现各个运算符的点的构造,运算符的重载,求两点距离,判断一个点是否在给定其他几个点的范围内,以及与向量有关的几何运算。 Circle类主要实现圆对象的构造,圆的相关参数设置,求取圆的周长函数(doubleCircle::getCircumference())、面积函数(double Circle::getArea()),判断一个点是否在圆内bool Circle::isInside(VecPosition pos),求两个圆交点函数 int Circle::getIntersectionPoints(Circle c,VecPosition *p1,VecPosition *p2)返回加点个数。求两个圆的相交面积double Circle::getIntersectionArea(Circle c)。 矩形由左上点坐标和右下点坐标确定。包括矩形的构造,参数的设置修改,求矩形的面积,周长,以及判断一个点是否在矩形内。 2.可视化界面 建立单文档工程,添加画图菜单,如下图: 三个菜单项分别画点,画线,画矩形。 在view.h中添加如下变量:CPoint类的 m_oldpt,m_pt用于记录画图的起点坐标和终点坐标。Circle m_circle,Rect m_rect,用于构造圆和矩形。afx_msg void OnLButtonDown(UINT nFlags, CPoint point)是响应鼠标按下的消息,并将当前坐标传给m_oldPoint。 用switch分支控制画图种类,在view类中加入变量i,添加三个菜单消息响应函数,对i进行赋值;当点击菜单项“点”时,i=0;当点击菜单项“圆” 时,i=1;当点击菜单项“矩形”时,i=2; 在view中添加void C实o_一View::OnLButtonUp(UINT nFlags, CPoint point)用来响应鼠标左键弹起消息。三种图形的绘制在该函数中完成。具体绘图代码如下: void C实_一View::OnLButtonUp(UINT nFlags, CPoint point) { CString str=\\,str1=\\; // TODO: 在此添加消息处|理程序代码和或调用默认值 VecPosition pt1,pt2; Circle cir1; Rect Rect1; pt1.setVecPosition(m_pt.x,m_pt.y); pt2.setVecPosition(point.x,point.y); 面向对象程序设计课程设计 CClientDC pDC(this);///////客户区绘图对象 CBrush*poidBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));//设置透明画刷,以免绘制的图形之间相互覆盖 /*CBrush*poidBrush=*/pDC.SelectObject(poidBrush);//将画刷选入设备环境 switch(i) { case 0://///////////////////点和圆关系 str=\该点的坐标为\\r\\n\; str1.Format(\%s\,pt1.str().c_str()); str+=str1; if(m_ncir!=0 else str+=\\\r\\n点不在圆的内部?\; } { if(m_rect.isInside(pt1)) str+=\\\r\\n点在矩形的内部\; else str+=\\\r\\n点不在矩形的内部\; } } else if(m_ncir!=0 else str+=\\\r\\n点不在圆的内部\; } else if(m_ncir==0 else str+=\\\r\\n点不在矩形的内部\; } MeageBox(str,\显示:\); - 12 面向对象程序设计课程设计 str=str+str1+\\\r\\n\; double d=cir1.getIntersectionArea(m_circle);////相交面积 str1=\两圆的相交面积为:\\r\\n\; str+=str1; str1.Format(\%f\,d); str+=str1; MeageBox(str); } else { } } m_ncir++;//记录圆的个数 Meage

文档评论(0)

taozhiyaoyue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档