- 1、本文档共139页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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简
您可能关注的文档
- 2016变电所7月份施工月报讲解.docx
- 10-2围绕主题抓住主线讲解.ppt
- 在信息平台联系点视频会议上的讲话分析.doc
- 在中国移动2010年集团客户工作会议上的讲话分析.doc
- 10-3环境保护讲解.ppt
- 10-4磁场对载流导线的作用讲解.ppt
- 10-6磁介质讲解.ppt
- 增肌过程中常见的6个问题分析.docx
- 10诚信是金讲解.ppt
- 10ai、ei、ui教学课件讲解.ppt
- 2025年综合类-机械制造行业技能考试-数控车床工考试历年真题摘选带答案(5卷单选题100道).docx
- 2025年综合类-中医临床三基(医技)-人体解剖学历年真题摘选带答案(5套合计100道单选).docx
- 生于忧患死于安乐教案.pptx
- 2025年医院三基考试-医学临床三基(医技)历年参考题库含答案解析(5卷100道合辑-单选题).docx
- 2025年综合类-输血技术(师)-专业知识-心血管疾病历年真题摘选带答案(5套单选100题合辑).docx
- 2025年综合类-初级中学语文-教学评价综合练习历年真题摘选带答案(5套单选100题合辑).docx
- 2025年综合类-资产评估-第五章无形资产评估历年真题摘选带答案(5套单选100题合辑).docx
- 阅读分享如何与焦虑共处如何与焦虑做朋友心理健康PPT.pptx
- 2025年综合类-中级水路运输-运输企业资产评估历年真题摘选带答案(5卷单选题100道).docx
- 神经系统疾病的诊断原则.ppt
文档评论(0)