- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北京林业大学 软件教研室 前面我们讲过,对于字符串的存放采用的是数组,而对于字符串的处理采用的是调用系统提供的库函数来进行。这样的做法一方面不方便、灵活,另外一方面把数据和对数据的处理分离开来不符合面向对象程序设计的要求。 string类中除了提供了各种构造函数外,还提供了丰富的成员函数,有些成员函数又有多种重载形式。一些常用的成员函数的原型及功能如表11.2所示。 string类中除了提供了各种构造函数和丰富的成员函数外,还提供了多个运算符的重载,来用于对运算符的操作。一些常用的运算符的功能及示例如表11.3所示,其中A和B是string类的2个对象。 这种现象有些类似于Microsoft Visual C++中的MFC(Microsoft Foundation Class Library),或者是Borland C++ Builder中的VCL(Visual Component Library)。 下面我们就分别介绍这3方面的内容。 这7种基本容器可以分为2类,一类是顺序容器,包括vector、deque和list;另一类是关联容器,包括set、multiset、map和multimap。 在STL中最典型的容器是vector,下面我们就详细介绍一下vector容器,关于其他的容器读者可自行参阅STL相关的书籍。 从上面的例子我们可以知道, 程序说明: (1)使用输入、输出迭代器应包含头文件iterator。 (2)istream_iterator是iterator的一个公有派生类模板,用于从一个输入流中提取元素。istream_iterator(cin)表示从键盘输入流中提取元素。 (3)ostream_iterator也是iterator的一个公有派生类模板,用于从一个把元素插入到输出流中。ostream_iterator(cout,” ”)表示把元素插入到屏幕输出流中,且元素之间以一个空格分隔。 (4)back_insert_iterator也是iterator的一个公有派生类模板,用于把元素插入到容器中。ins(vec)表示把元素插入到vec容器中。 程序说明: (1)使用算法库中的算法(函数模板)应包含头文件algorithm。 (2)sort函数是快速排序算法的实现函数。语句sort(vec.begin(),vec.end()); 的功能是将vector容器对象vec中从开始位置到结束位置的所有数据元素进行排序。 第11章 string类与STL简介 本章主要内容 (1)掌握C++标准类库中定义的string类的意义。 (2)掌握利用string类的构造函数完成字符串对象的创建。 (3)掌握string类的成员函数和运算符对字符串进行的各种操作。 (4)了解范型化程序设计的意义。 (5)理解标准模板库STL的基本概念。 (6)掌握容器、迭代器、算法的概念及使用方法。 (7)掌握vector容器的常用成员函数及其使用。 北京林业大学 软件教研室 * 11.1 string类 字符串的存放采用的是数组 字符串的处理采用的是调用系统提供的库函数 C++标准类库中预定义了一个字符串类,即string类。 string类中封装字符串的概念,并提供了许多关于字符串操作的成员函数。 使用string类需要包含头文件string(不是string.h)即: #include string 不方便、灵活 把数据和对数据的处理分离开不符合面向对象程序设计的要求 北京林业大学 软件教研室 * 11.1.1 string类的构造函数 构造函数的原型 功 能 string( ) 默认构造函数,创建一个长度为0的字符串 string(const string rhs) 拷贝构造函数,利用已经存在的字符串来创建新的字符串 string(const string rhs, unsigned pos,unsigned n) 将已经存在的字符串从第pos的位置开始,取n个字符来创建新的字符串 string(const char*s) 利用字符数组s来创建新的字符串 string(const char*s,unsigned n) 利用字符数组s的前n个字符来创建新的字符串 string(unsigned n,char c) 将字符c重复n次,来创建新的字符串 【例11-1】利用string类提供的各种构造函数来创建字符串对象。 北京林业大学 软件教研室 * 11.1.2 string类的成员函数 成员函数的原型 功 能 string append(const char*s ) string append(const char*s ,unsigned n) string append(const stri
原创力文档


文档评论(0)