- 1、本文档共41页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第09章 多态性:总结 计划 汇报 设计 纯word可编辑课件
9.4 纯虚函数 纯虚函数是在基类中声明的虚函数,它在声明它的基 类中没有定义,要求任何派生类都必须为该虚函数定义自 己的版本。 说明纯虚函数的一般格式如下: virtual 函数原型 = 0; 例如,为了把Figure类的虚函数ShowArea说明为纯虚 函数,应该像下面那样声明它: virtual void ShowArea() = 0; * 9.4 纯虚函数 关于纯虚函数和抽象类的使用,C++语言 有以下规定: ⑴抽象类只能作为其他类的基类,不能声明抽象 类的实例。 ⑵ 在从抽象类派生出的新类中,必须重新定义其 父类的每个纯虚函数;或者把这些函数继续声明 为纯虚函数,这样做派生类也就成为抽象类。 * 9.4 纯虚函数 ⑶ 在类等级的上层定义一个或几个抽象类作为基类,而 在下层定义由基类派生出的具体类的情况比较常见,但 是,不允许从具体类派生出抽象类。所谓具体类,就是不 包含纯虚函数的普通类。 ⑷ 在抽象类中也可以定义普通成员函数或虚函数,虽然 不能为抽象类声明对象,但仍然可以通过派生类对象来调 用这些不是纯虚函数的函数。 * 9.5 虚函数应用实例之二 要求设计一个面向对象的程序,以完成下列几项功能: ⒈在显示器荧光屏上指定位置显示指定的图形(点或圆),或 擦去屏幕上正在显示的某个图形; ⒉放大或缩小屏幕上正在显示的圆; ⒊把某个图形从屏幕上原来的位置移动到指定的新位置; ⒋在屏幕上沿指定方向以指定的速度连续拖动指定 的图形。(参考教材请同学上机练习) * #include ”graphics.h” #include ”conio.h” enum Boolean{false, true}; class Location { protected : int X; int Y; public : Location(int InitX, int InitY) { X = InitX; Y = InitY; } int GetX(){ return X; } int GetY(){ return Y; } }; 9.5 虚函数应用实例之二 * class Point : public Location { protected : Boolean Visible; public : Point(int InitX, int InitY); virtual void Show(); // 虚函数 virtual void Hide(); // 虚函数 virtual void Drag(int DragBy); // 虚函数 Boolean IsVisible(){ return Visible; } void MoveTo(int NewX,int NewY); }; class Circle : public Point { protected : int Radius; public : Circle(int InitX, int InitY, int InitRadius); void Show(); // 虚函数 void Hide(); // 虚函数 void Expand(int ExpandBy); void Contract(int ContractBy); }; 9.5 虚函数应用实例之二 * Boolean GetDelta(int DeltaX, int DeltaY) { char KeyChar; Boolean Quit; DeltaX = 0; DeltaY = 0; do { KeyChar = getch(); // 读键盘输入 if(KeyChar == 13) return (false); // 回车键结束拖动 if(KeyChar == 0) // 扩展键码 { Quit = true; // 假设按对了键盘 KeyChar = getch(); // 读剩余的键码 switch(KeyChar) { case 72 : DeltaY = -1;break; // 上箭头键 case 80 : DeltaY = 1;break; // 下箭头键 case 75 : DeltaX = -1;break; // 左箭头键 case 77 : DeltaX = 1;break; // 右箭头键 default : Quit = false; // 错键 } } }wh
您可能关注的文档
- 竣工资料规划教案.ppt
- 竞聘模板.ppt精选.ppt
- 竞聘班长PPT详解.ppt
- 竞聘演讲稿ppt模板[必威体育精装版]精选.ppt
- 端正入党动机 争取早日入党88管理.ppt
- 竞选班干部2015精品.ppt
- 端正入党动机 努力争取入党教案.ppt
- 竞选团委副书记详解.ppt
- 端正入党动机,以实际行动争取入党(党课课件)管理.ppt
- 端午节幼儿园小班教案详解.ppt
- 2024年陕西咸阳亨通电力(集团)有限公司供电服务业务部直聘用工招聘145人笔试参考题库附带答案详解 .docx
- 2024年中建四局土木工程有限公司校园招聘笔试参考题库附带答案详解 .docx
- 2024年四川雅茶贸易有限公司公开招聘和考察聘用人员3人笔试参考题库附带答案详解 .docx
- 2024年中国烟草总公司辽宁省公司公开招聘拟录用人员(166人)笔试参考题库附带答案详解 .docx
- 2024江苏连云港中诚物业管理有限公司招聘工作人员1人笔试参考题库附带答案详解 .docx
- [毕节]2025年贵州毕节市引进人才649人笔试历年参考题库附带答案详解.docx
- 2024年度中国东航技术应用研发中心有限公司校园招聘笔试参考题库附带答案详解 .docx
- 2024年福建省厦门盐业有限责任公司春季人才招聘1人笔试参考题库附带答案详解 .docx
- 2024年山东省环保发展集团绿能有限公司职业经理人招聘2人笔试参考题库附带答案详解 .docx
- 2024年安徽滁州郊源阳光电力维修工程有限责任公司招聘41人(第一批次)笔试参考题库附带答案详解 .docx
文档评论(0)