10类库和C++的标准模板库STL讲解.ppt

  1. 1、本文档共139页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《C++面向对象程序设计》教学内容 ;第10章 类库和C++的标准模板库STL;10.1 类库的概念;10.1.1 什么是类库? ;输入/输出流类派生体系;什么是类库? ( 续);类库使用举例;类库的例子;类库为软件重用提供基础;程序员分工进一步细化;10.1.2 如何分析、利用类库? ;衡量应用程序员能力的标准的变化;利用类库以达到重用有两方面的含义,一方面是要充分地利用开发环境所提供的已有类库中的类或者对其中的某些类进行扩充得到符合要求的类。 另一方面,我们在软件开发过程中要认真总结并建立与应用领域中相关的类库,为以后在该领域开发别的应用项目奠定基础。 ;10.1.3 类库有什么特点;通用性 ;可扩充性 ;概念性与层次性 ;灵活性;10.1.4 类库是面向对象的 软件开发环境的核心;10.2 C++的标准模板库STL;10.2.1 名字空间namespace简介;例如,有两个头文件: //header1.h char *user_name = myown1; //header2.h char *user_name = myown2; ;#include iostream.h #include header1.h #include header2.h int main() { cout Hello, user_name endl; } 程序中有两个重名的user_name变量,编译会报错。;名字冲突的危害;名字冲突的原因;名字空间 namespace;名字空间 namespace (续);名字空间的例子;int main() { cout \n Hello, myown1::user_name ... and goodbye!\n; cout \n Hello, myown2::user_name ... and goodbye!\n; return 0; };创建名字空间;作用域的概念 scope;作用域的概念(续);using namespace;#include iostream.h #include header1.h #include header2.h int main() { using namespace myown1; cout Hello, user_name endl; cout Hello, myown2::user_name endl; } ;using name::member;;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++的标准库定义在名字空间std之中。因此在C++程序中经常需要加入以下命令: using namesapece std; 这条语句将名字空间std中的定义的所有名字都添加到当前作用域中,这样你就可以直接使用C++标准库中的类和函数,而不需要在每个名字前加上std::。;以下两个程序是等价的。;如果只用到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; } ;名字空间的嵌套使用;名字空间小结;10.2.2 C++标准库的构成;C++标准库的构成(续);C++标准库的构成(续);C++标准库的构成(续);C++标准库的构成(续);10.2.3 标准模板库STL简介;10.2.3 标准模板库STL简介;泛型程序设计的基本概念;STL简介;Transform算法;STL简

文档评论(0)

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

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

1亿VIP精品文档

相关文档