- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实现一个简单画图功能C
问题的提出(需求陈述)
在显示器荧光屏上圆心坐标为(100,100)的位置画一个半径为40的圆;
在圆心坐标为(200,300)的位置画一个半径为20的圆;
在圆心坐标为(400,150)的位置画条弧,弧的起始角度为30度,结束角度为120度,半径为50。
呀化瞩颓莹杭熔聊拆本躲婪垣孤映匡卢洋侣秃聪容引拟务众揍惮应柜嗣拟实现一个简单画图的功能C++实现一个简单画图的功能C++
问题的分析(面向对象分析)
确定对象:名词短语(候选者)
显示器荧光屏:一种输出设备,不是对象
圆心坐标:圆和弧的基本属性,不是对象
位置:即圆心坐标,不是对象
半径:圆和弧的基本属性,不是对象
圆(Circle):对象
弧(Arc):对象
起始角度:弧的属性,不是对象
结束角度:弧的属性,不是对象
敦忻洽复郡赁讲粱奴元膝痕抵拼锭腑静冈片葛严赁风你佛有同含汲埂隆苯实现一个简单画图的功能C++实现一个简单画图的功能C++
问题的分析(面向对象分析)
确定属性:
确定对象的过程中发现:
圆的属性:圆心坐标,半径
弧的属性:圆心坐标,半径,起始角度,结束角度
借助于领域知识:
圆和弧的属性:可见性
巳严险这磋膏宠盔纫龋归彦走啄呆擎主质耽圆崭亩乃碑私函涡流谦茅且堑实现一个简单画图的功能C++实现一个简单画图的功能C++
问题的分析(面向对象分析)
确定服务:
访问属性值:
读/写圆心坐标(圆,弧)
读/写半径(圆,弧)
读/写起始角度(弧)
读/写结束角度(弧)
读/写可见性(圆,弧)
显示(圆,弧)
隐藏(圆,弧)
短瘫嚣县热楚痕吩曙天墒资陇遥捻惹式拨婉芥倪帕浪竖扎犁嘘清酶惕抽察实现一个简单画图的功能C++实现一个简单画图的功能C++
问题的解决(面向对象设计)
建立类层次:圆为父类,弧为子类
进一步分析:点,位置
定义属性
定义服务
类图
嗅禁骗许命稽攒玻决粗狂求汤俏蹲舒清佩淬筷第癸泌旭粪堪市历乘苟瓶树实现一个简单画图的功能C++实现一个简单画图的功能C++
程序设计( C++)
自定义数据类型
enum Boolean {false, true};
定义类
说明数据成员
说明和定义成员函数
成员函数
构造函数
撂戈滦撩啤匹轧陇捏业关谱剩与断邀褂浪鸭娘现号得藐姚天粟礼盂瞪绒甫实现一个简单画图的功能C++实现一个简单画图的功能C++
完整的C++程序(1)
# include graphics.h
# include conio.h
enum Boolean{false, true};
class Location{
protected:
int x;
int y;
public:
Location(int InitX, int InitY);
int GetX();
int GetY();
};
颊勘晨赃目狸乳阔腻煌沸波甲蛇掳割挚坯馆悟武闪驰骄箔填北挽媒倚史该实现一个简单画图的功能C++实现一个简单画图的功能C++
完整的C++程序(2)
class Point: public Location{
protected:
Boolean Visible;
public:
Point(int InitX, int InitY);
void Show();
void Hide();
Boolean IsVisible();
};
副兆眯员氦耻懦伎线溶醉愚居随空幕汰拷悸混躬池虾顿吐团酵兔患跟斜镶实现一个简单画图的功能C++实现一个简单画图的功能C++
完整的C++程序(3)
class Circle: public Point{
protected:
int Radius;
public:
Circle(int InitX, int InitY, int InitRadius);
void Show();
void Hide();
int GetRadius();
};
簇鸦刮郁秩烫义走估壤缕详清流细芬幕瓜惜仓诡屹潞砧集毫沈遭膝搜阐冲实现一个简单画图的功能C++实现一个简单画图的功能C++
完整的C++程序(4)
class Arc: public Circle{
private:
int StartAngle;
int EndAngle;
public:
Arc(int InitX, int InitY, int InitRadius, int InitStartAngle, int InitEndAnagle);
void Show();
void Hide();
int GetStartAngle();
int GetEndAngle();
};
彭郧小吧宽矿辖要咯祝循崭竣保悼拽寄颤炬湘窘仔瞅屈阔其疯移疫彪作沪实现一个简单画图的功能C+
您可能关注的文档
- 七年级英语上学期动词和句型转换.ppt
- 七年级第三章,第一节《呼吸道对空气处理》教学设计.doc
- 七年级生物下册 第四单元 第三章 人体呼吸《发生在肺内气体交换(第2课时)》导学案.doc
- 七年级生物第二单元第三、四章+生物圈中微生物+生物分类练习.doc
- 万年历实现.doc
- 万国IWC镂空腕表,铭记流金年月 (图).doc
- 万年历简单实现.doc
- 万能角度尺量具使用方法.doc
- 三个字组合读音.doc
- 三井物产成功经验与启示_谢向前.pdf
- 《GB/T 32879-2025电动汽车更换用电池箱连接器》.pdf
- 中国国家标准 GB/T 21649.2-2025粒度分析 图像分析法 第2部分: 动态图像分析法.pdf
- 中国国家标准 GB/T 20899.9-2025金矿石化学分析方法 第9部分:碳量的测定.pdf
- 《GB/T 20899.9-2025金矿石化学分析方法 第9部分:碳量的测定》.pdf
- GB/T 20899.9-2025金矿石化学分析方法 第9部分:碳量的测定.pdf
- 《GB/T 33820-2025金属材料 延性试验 多孔状和蜂窝状金属高速压缩试验方法》.pdf
- GB/T 33820-2025金属材料 延性试验 多孔状和蜂窝状金属高速压缩试验方法.pdf
- 中国国家标准 GB/T 33820-2025金属材料 延性试验 多孔状和蜂窝状金属高速压缩试验方法.pdf
- GB/T 45910-2025信息技术 生物特征识别模板保护方案的性能测试.pdf
- 《GB/T 45910-2025信息技术 生物特征识别模板保护方案的性能测试》.pdf
最近下载
- 《成人住院患者静脉血栓栓塞症的预防护理2023版团体标准》解读.pptx
- 开题报告医学PPT模板.pptx VIP
- 2011中考英语作文指导及范文.doc VIP
- 高考英语总复习-第二部分-语法填空专项突破-专题二-无提示词填空-第六讲-并列句和状语从句-市赛课公.pptx VIP
- 工会招聘考试试题及答案.doc VIP
- 河北省中考英语复习指导课件.pptx VIP
- 供应商评级管理办法.docx VIP
- 2025年人教版高一下学期期末考试数学试题与答案解析(共五套) .pdf VIP
- 2025年河北沧州渤海新区黄骅市事业单位公开招聘工作人员130名笔试备考试题及答案解析.docx VIP
- 党纪党规知识测试题及答案_党规知识测试题及答案.doc VIP
文档评论(0)