- 1、本文档共139页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
10的类库和C的标准模板库STL
类库使用举例 以下简单程序就使用了流类库中预定义的对象cout。cout是流类库中ostream_withassign类的对象。 #include iostream using namespace std; int main( ) { coutHello,world!\n; return 0; } 利用类库以达到重用有两方面的含义,一方面是要充分地利用开发环境所提供的已有类库中的类或者对其中的某些类进行扩充得到符合要求的类。 另一方面,我们在软件开发过程中要认真总结并建立与应用领域中相关的类库,为以后在该领域开发别的应用项目奠定基础。 灵活性 在进行面向对象程序设计时,可以直接使用类库中的类创建对象。也可以按照实际应用的需要,在继承类库中的类的基础上派生出新的类,既可以增加新的特性和方法,还可以修改原来已有类的特性和方法。 作用域的概念(续) 在上述各种作用域之外声明和定义的变量名、函数名和类名通常被称为全局名字,分别称为全局变量名、全局函数名、全局类型名等等。 全局名字在整个程序范围内有效。使用全局名字很容易出现名字冲突,所以我们最好将名字定义在某个名字空间中。 一般来说,程序规模越大,程序中出现相同名字的概率就越大,名字空间就越有用。 using name::member; 可使用using name::member;命令把名字空间name中的成员引入到当前作用域。如下例所示。 #include iostream using namespace std; #include header1.h #include header2.h int main() { using namespace myown1; cout Hello, user_nameendl; using myown2::user_name; cout Hello, user_nameendl; return 0; } 本例中使用命令using myown2::user_name;使得名字空间myown2中的定义的变量名user_name可以在主函数main( )的作用域中可见,请注意这个myown2中的user_name覆盖了当前的作用域中的myown1::user_name。 如果只用到C++标准库中的某些名字,那么可以对每个名字分别使用using语句来将它们的引入到当前的名字空间。 这种方法的好处在于:在程序中使用C++标准库中的名字时不需要std::限定符,然而也不需要将整个C++标准库所有名字都添加到全局名字空间中。请参见下例。 #include iostream using std::cout; //将对象cout添加到当前作用域 using std::cin; //将对象cin添加到当前作用域 int main() { double val; cout Enter a number: ; cin val; cout This is your number: ; cout val; return 0; } C++标准库的构成(续) 输入输出流类库(I/O Stream) 在C++语言中,数据从一个对象到另一个对象的传送被抽象为“流”。 C++程序中数据的输入/输出就是通过输入/输出流类对象来实现的。例如我们已经使用过的cin,cout等流类对象。 C++标准库的构成(续) 字符串类 C++语言中没有定义内置的字符串类型,但它提供了两种处理字符串的方法。 第一种方法是使用传统C语言中的以空字符结尾的字符数组来表示字符串,这种方式处理字符串的函数声明在头文件cstring中。 第二种方法是使用string类型的类对象,string类实际上是标准模板库STL中的一种更通用的模板类basic_string的实例。 C++标准库的构成(续) 标准模板库(STL) 标准模板库(STL)定义了一系列用途广泛的类模板和函数模板,它们可以被用来实现许多通用的算法和数据结构。 因为STL是建立在类模板和函数模板基础之上的,所以在STL中定义的算法和数据结构几乎可以被应用于任意类型的数据。 C++标准库的构成(续) 数值计算库 C++标准库中还有数值计算库,用来对数值处理提供支持。例如为了支持复数的计算,C++库标准库中提供了复数类模板,复数的实数和虚数部分的数据类型可以实例化成float、double或long double等。另外还专门针对矩阵运算的编程而提供了特殊数组模板。 其他类库 C++标准库还包括支持动态内存分配、运行时类型信息RTTI的基本运行库,以及支持应用程序的异常处理标准异常类等。 STL中的容器类 容器(container)类是用来保存其它对象的,STL中
您可能关注的文档
- 002_雾盈FPGA笔记之二AD转换电压测的量数码管显示.docx
- -计的算机体系结构的基本概念.ppt
- 000操作系统课设报告(进程控制-吃苹的果).doc
- 004-的数组.ppt
- 004查看凭证的清单.pdf
- 003的-数据类型与运算规则(问).ppt
- 007 信息系的统项目管理师 输入输出联想记忆.docx
- 003-数据类型与运算的规则.ppt
- 009逻辑运的算符和逻辑表达式.pptx
- 005-006 Windows消息机制的 C++.ppt
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)