c++程序设计完整版课件全套ppt教学教程最全整套电子教案电子讲义(必威体育精装版).ppt

c++程序设计完整版课件全套ppt教学教程最全整套电子教案电子讲义(必威体育精装版).ppt

  1. 1、本文档共451页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
全套课件完整版课件正本书课件最全课件全套ppt完整版ppt整本书ppt全套电子讲义全套电子教案全套电子课件完整版电子讲义完整版电子教案

对象指针数组 对象指针数组:存储的是对象的地址 类的兼容性使基类指针可以指向各派生类的地址,这意味着一个基类类型的指针数组的各个元素可以指向不同的派生类对象,这也就是异类(Heterogeneous)对象存储机制 对象指针数组指向异类对象增加了数组的灵活性 如在一个几何图形列表中,各对象可能是线条、矩形、多边形、圆形等不同类型的对象,我们就可以通过抽象类指针数组将它们组合到一起 可以通过动态链表来管理这些异质对象,也就是动态数组来处理 可以通过容器来管理这些对象 Shape* shapes[13]; shapes[1]=pt1; shapes[2]=pt2; shapes[3]=circle; for(int i=0;i2;i++) shapes[i]-draw(); 返回目录 6.7 画图程序的设计与实现 任务要求 要求实现圆和矩形的绘制,平移及比例变换。设计实现Shape,Point,Rect,Circle构成的绘图程序 。 任务分析 需要Shape作为图形类的基类,Point类的对象分别作Rect,Circle类的成员 设计方案 实现代码见教材程序6-8 6.8 面向对象程序设计编程规范 (1)类是设计更加合理的库。 类的定义相当于是库的接口,写在一个.h文件中; 类的实现相当于库的实现,写在一个.cpp文件中。 这两个文件一般用同样的主文件名。 类名一般约定首字母大写,若是由多个单词构成,为了提高可读性,每个单词首字母都大写。 (2)类设计中,一般数据成员都被设计为私有或保护,每个行为对应的函数被设计成公有成员函数。公有成员函数实现时可能会用到一些工具函数,这些函数被设计成私有的成员函数。 (3)尽可能自己设计类的构造函数、复制构造函数和析构函数。 功能更明确,也可避免一些异常。对于复制构造函数希望能忠实于“复制构造”本意,即构造一个同样的对象。 (4)一个类不要设计的过于复杂。 每个类应该有单一的,明确的目的。若类的目的过多,可以将类分解为多个简单类。 (5)组合和继承是代码重用的重要方式。设计时优先考虑组合,即组合优于继承。 返回目录 (1)继承的概念及定义 (2)派生类的构造与析构。在派生类建立对象时会首先调用基类的构造函数,再调用自己的构造函数。派生类对象消失时,先调用派生类自己的析构函数,再调用基类的析构函数 (3)类型兼容的概念及作用 (4)多继承及虚基 (5)多态是用虚函数机制来实现的。虚函数是在基类中定义的冠以virtual关键字开头的成员函数,需要在派生类中重新定义 (6)纯虚函数与抽象类的定义与使用 6.9 本章小结 7.1 模板与泛型的概念 7.2 函数模板 7.3 类模板 7.4 复数运算器的设计与实现 7.5 本章小结 第7章 模板 返回目录 7.1 模板与泛型的概念 模板:提供了对逻辑结构相同的数据对象通用行为的定义 这些模板运算对象的类型不是实际的具体的数据类型,而是一种参数化的类型(又称为类属类型),也是就泛型参数 模板是一种使用无类型参数来产生一系列函数或类的机制 模板是C++支持参数化多态的工具 泛型编程:在算法中使用泛型参数以适应各种数据类型和数据结构 泛型编程简单地说就是使用模板的程序设计方法 分类 函数模板:带类属参数的函数 模板函数(template function) 类模板:带类属类数的类 模板类:带类属类数的类 返回目录 7.2.1 使用C++宏定义实现功能相似函数 C++函数模板的定义 7.2.2 C++函数模板的重载 7.2.3 7.2 函数模板 问题 1.假如设计一个求两参数最大值的函数,在实践中我们可能需要定义四个函数: int max ( int a , int b ) { return ( a b ) ? a , b ; } long max ( long a , long b ) { return ( a b ) ? a , b ;} double max ( double a , double b ) { return ( a b)? a , b ; } char max ( char a , char b ) { return ( a b ) ? a , b ;} 2.这些函数几乎相同,唯一的区别就是形参类型不同 3.需要事先知道有哪些类型会使用这些函数,对于未知类型这些函数不起作用 #define MAX(x,y)\ int max(int x,int y)\ {return (xy?x:y);} //#define MAX(x,y) (x)(y)?(x):y MAX(x,y) int main() { int a,b; int m; cinab; m=max(a,b); coutm=mendl;

您可能关注的文档

文档评论(0)

BLUED + 关注
实名认证
内容提供者

教师资格证持证人

全网 内容最全课件 价格最低 质量最高 不是之一,是唯一。 每个人使用的办公软件版本不一样,如有个别显示不出的文件,建议使用必威体育精装版版。

版权声明书
用户编号:8070063100000015
领域认证该用户于2023年03月20日上传了教师资格证

1亿VIP精品文档

相关文档