C面向对象程序设计 第10章类库和C的标准模板库STL_第1页
C面向对象程序设计 第10章类库和C的标准模板库STL_第2页
C面向对象程序设计 第10章类库和C的标准模板库STL_第3页
C面向对象程序设计 第10章类库和C的标准模板库STL_第4页
C面向对象程序设计 第10章类库和C的标准模板库STL_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C面向对象编程教学内容,第1章C概述第2章类和对象第3章面向对象编程概述第4章进一步学习类和对象第5章堆和复制构造函数第6章继承:派生类第7章运算符重载第8章虚函数和多态性第9章模板第10章类库和C标准模板库STL第11章iostream第12章异常处理,第10章类库和C的STL,10.1的标准模板库STL,10.2C的标准模板库STL,10.1类库的概念,11.1.2如何分析和利用类库?1.1.3类库的特点1.1.4类库是面向对象软件开发环境的核心,10.1.1什么是类库?类库是类的集合,描述了各种类之间的关系。为了方便程序员的开发,系统提供了一批可重用的代码。(源代码)体现为一组类,这些类

2、通过建立它们之间的继承关系形成类库,并以类的形式提供给用户重用。什么是类库?(续),在设计和实现面向对象的程序时,应该使用类和类库来获取所需的对象,即类的实例。因此,类库是一个预定义的面向对象程序库。类库的一个例子,MFC类库中提供的c标准STlLibrarY。MFC microsoftfoundation class borland c系统中提供的OWL类库。VCL类库是在C Builder系统中提供的。类库为软件重用提供了基础,面向对象程序设计提供的继承机制使程序员能够基于现有的类定义新的类,从而实现软件模块的重用。在面向对象编程范式下,程序员团队可以分为两种类型。他们都把课程作为他们的工

3、作对象。一个团队主要设计类和类库,另一个团队主要使用类来设计应用程序。详细的分工意味着进步。10.1.2如何分析和利用类库?如果想充分发挥面向对象方法的优势,程序员必须知道类库的组织。我们可以通过在线帮助或类库参考手册了解软件开发系统提供的类库的类层次结构。可能需要使用的类及其父类的属性和方法。通过在线文档中提供的示例了解如何使用类。衡量应用程序员能力的标准的变化,结构化编程时代的标准:每天编写的源代码行数,以及清晰的程序结构。面向对象编程时代的标准:衡量应用程序程序员的生产率取决于他是否知道如何充分发挥现有类库的功能,他是否有能力将现有类库与新问题紧密匹配,以及他是否必须编写至少额外的代码。

4、10.1.3类库的特点是什么,通用性、可扩展性、概念和层次的灵活性、通用性,为了复用的目的,选择一些适用性广的内容作为类库的内容,并经过综合考虑,使其适合更多的情况。可扩展性,在软件开发过程中,您可以添加新的类供将来使用。在改进现有类库时,只要界面保持不变,修改不会引起外部软件的变化。概念上和层次上,类库中每个类的概念应该清晰易懂,具有一些共同属性的类应该被视为基类。设计类应该有一个明确的目标。一个好的班级应该易于理解和使用。类库是面向对象软件开发环境的核心,只有基于软件复用的思想,面向对象的开发方法才能真正提高软件开发的效率和质量。类库为软件重用提供了基础,因此程序设计不需要从头开始。类库不

5、同于传统的子程序库(函数库),它的性能比子程序库好得多。10.2C标准模板库STL,10.2.1命名空间介绍10.2.2C标准库组成10.2.3标准模板库STL介绍10.2.4标准模板库STL应用实例,10.2.1命名空间介绍,日常生活中同名引起的名称冲突;c程序中存在同名冲突:容器类库中有一个列表类窗口,类库中有一个列表类。如果你想在一个程序中同时使用这两个类库,名字冲突就会发生,名字冲突的危害也会发生。同一源文件(编译单元)中的名称冲突可以由编译器检查:重新定义的符号(不明确的符号)(参见示例10_2)不同编译单元(如目标文件)之间的名称冲突可以由链接器检查;确定标识符的倍数也可能导致错误

6、的链接,从而导致运行时错误。名称冲突的原因,C使用单个全局命名空间(参见)。在这个单独的空间中,如果有两个类、两个变量或两个名字完全相同的函数,就会有名字冲突。范围概念范围,局部范围局部范围:块范围函数范围文件范围全局范围全局范围全局标识符:全局变量名称,全局函数名称,全局类型名称等。全局名称在整个程序范围、名称空间中都是有效的,使用名称空间来划分全局名称空间可以避免名称冲突。解决方案是在程序中用两个不同的名称空间定义相同的名称。命名空间(续),用于解决c语言中变量和函数的名称冲突。程序越大,命名空间就越有用。大型程序,更多地使用富命名空间逆向表达逻辑分离。命名空间也被翻译为:命名空间,命名空间,命名空间的一个例子,/在不同的命名空间中定义了两个同名的变量:命

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论