- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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 voidOnLButtonDown(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!=0elsestr+=\\\r\\n点不在圆的内部?\;}{if(m_rect.isInside(pt1))str+=\\\r\\n点在矩形的内部\;elsestr+=\\\r\\n点不在矩形的内部\;}}else if(m_ncir!=0elsestr+=\\\r\\n点不在圆的内部\;}else if(m_ncir==0elsestr+=\\\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
您可能关注的文档
最近下载
- 《第5课 共同保卫伟大祖国》课件_初中道德与法治_七年级全一册_中华民族大团结.pptx VIP
- h3cloud云学堂故障处理手册.pdf VIP
- 2025-2026学年重庆市巴蜀中学学堂班八年级(上)选拔数学试卷(含答案).pdf VIP
- 第5课 共同保卫伟大祖国 课件中华民族大团结.ppt VIP
- GB50819-2013 油气田集输管道施工规范.pdf VIP
- 沥青混凝土面层工程检验批质量验收记录表.doc VIP
- 人教PEP版四年级英语下册 《Weather》Part A PPT课件(第1课时) .ppt VIP
- 《文化的继承与创新》课件.ppt VIP
- 百冠公司成品仓库仓储货位优化研究.docx
- 2024光伏连接器技术标准.docx VIP
文档评论(0)