网站大量收购闲置独家精品文档,联系QQ:2885784924

第10章类库和C的标准模板库STL.ppt

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《C++面向对象程序设计》教学内容 第1章 C++概述 第2章 类和对象 第3章 面向对象程序设计概述 第4章 进一步学习类和对象 第5章 堆与复制构造函数 第6章 继承性:派生类 第7章 运算符重载 第8章 虚函数和多态性 第9章 模板 第10章 类库和C++的标准模板库STL 第11章 输入输出流 第12章 异常处理 第10章 类库和C++的标准模板库STL 10.1 类库的概念 10.2 C++的标准模板库STL 10.1 类库的概念 1.1.1 什么是类库(class library)? 1.1.2 如何分析、利用类库? 1.1.3 类库的特点 1.1.4 类库是面向对象的软件开发环境的核心 10.1.1 什么是类库? 类库是类的集合,并且给出了多种类之间的关系描述。 为了便于程序员的开发工作,系统提供了一批可供重用的代码。 (源程序代码) 具体表现为一组类,通过建立彼此间的继承关系形成类库,以类的形式提供给用户重用。 什么是类库? ( 续) 在设计和实现面向对象的程序的时候,要用类和类库,才能得到所需的对象,即类的实例。 所以,类库是一种预定义的面向对象的程序库。 类库的例子 C++ Standard STL library Microsoft Visual C++系统中提供的MFC类库。 MFC Microsoft Foundation Class Borland C++系统中提供的OWL类库。 C++ Builder 系统中提供的VCL类库。 类库为软件重用提供基础 OOP提供的继承机制使得程序员可以在已有类的基础上定义自己需要的新类,从而实现了软件模块的重用。 程序员分工进一步细化 在面向对象的程序设计范型之下,程序员的队伍可能要分为两种,它们都以类作为工作对象 一个队伍主要是设计类和类库,另一个队伍主要是使用类来设计应用程序。 分工细化就意味着进步 10.1.2 如何分析、利用类库? 要想发挥面向对象方法的优势,程序员必须知道类库的组织情况。 我们可以通过联机帮助或类库参考手册(类库工作手册)了解: ⒈ 软件开发系统提供的类库的类层次结构。 ⒉ 可能需要用到的类及其父类的属性和方法。 ⒊ 通过联机文档提供的例子学习有关类的使用方法。 衡量应用程序员能力的标准的变化 结构化程序设计时代的标准:每天编写的源代码行数,程序结构清晰。 面向对象程序设计时代的标准: 衡量一个应用程序员的生产力,要看他是否知道如何来最好地发挥已有类库的功能, 要看他有没有能力将已有的类库与新问题紧密的匹配起来, 还要看他不得不另外编写的代码是不是最少。 10.1.3 类库有什么特点 通用性 可扩充性 概念性与层次性 灵活性 通用性 基于重用的目的,选择具有广泛适用性的东西作为类库的内容,并经过全面的考虑,使之适用于较多的情况。 可扩充性 在软件开发过程中,可以添加新的类供以后使用。 对已有的类库进行改进时,只要保持接口不变,修改不会引起外部(即应用系统)软件的变化。 概念性与层次性 类库中的每个类的概念要明确,易于理解,将具有某些共同性质的类作为基类。 设计类要有一个明确的目标。 一个好的类应该是容易理解和使用的。 10.1.4 类库是面向对象的 软件开发环境的核心 OOP开发方法只有基于软件重用的思想,才能真正提高软件开发的效率和质量。 类库为软件重用提供了基础,程序设计不必再从零开始。 类库不同于传统的子程序库(函数库),它的性能大大优于子程序库。 10.2 C++的标准模板库STL 10.2.1 名字空间namespace简介 10.2.2 C++标准库的构成 10.2.3 标准模板库STL简介 10.2.4 标准模板库STL应用举例 10.2.1 名字空间namespace简介 日常生活中人名相同引起的名字冲突; C++程序中出现相同的名字引起的冲突: 容器类库中有一个List类 窗口类库中有一个List类 如果一个程序中要同时使用这两个类库就会发生名字冲突 名字冲突的危害 在同一个源文件(编译单元)中出现的名字冲突可以由编译器 compiler 检查出来: Redefined Symbols ( ambiguous symbol ) (参见example10_2) 在不同编译单元(如目标文件)之间的名字冲突可能由链接器Linker检查出来: Identifier multiply defined 也可能导致错误链接,从而产生运行时错误 runtime error。 名字冲突的原因 C++中采用的是单一的全局名字空间(参见)。在这单一的空间中,如果有两个类、两个变量或两个函数的

文档评论(0)

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

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

1亿VIP精品文档

相关文档