欢迎来到天天文库
浏览记录
ID:50082000
大小:512.50 KB
页数:33页
时间:2020-03-08
《C++程序设计 教学课件 作者 任化敏 chapter04-标准库类型.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C++程序设计第一部分:C++程序设计语言基础第四章标准库类型第四章标准库类型标准库的组织结构命名空间标准库的string类型标准库的vector类型4.1标准库的组织结构C++标准库由多个组件构成。按照它们的功能,可以进行如下分类,如图所示。C标准库:C++标准库中沿用了C标准库中的内容,做了极小的修改。标准模板库(STL,StandardTemplateLibrary):这是C++标准库的核心部分,提供了很多标准类型的容器以及操作这些容器的算法。整个STL由容器、迭代器、函数对象和算法等组件构成。字符串(String):字符串类型的对象,
2、提供了很多对字符串的操作,如字符串的读写、连接等。输入/输出流(I/OStream):对输入/输出流进行操作。异常处理:可以定义错误和异常并提供操作的方法。4.2命名空间在大规模的程序设计中,以及在程序员使用C++标准库和各种各样的第三方库时,为了避免这些标识符的命名发生冲突,标准C++引入了一个命名范围区域——namespace(命名空间),这样可以更好地控制标识符的作用域。命名空间的一个最好的例子就是std命名空间,C++标准库中定义的标识符都包括在std命名空间中。声明std命名空间(1)使用命名空间的名称和作用域限定运算符“::”。[例
3、【4-1】使用std名字空间。/*p4-1.cpp*/#includeintmain(){inta;std::cin>>a;std::cout<<"a*a="<usingnamespacestd;intmain(){inta;cin>>a;cout<<"a*a="<4、rn0;}声明std命名空间(3)使用using、命名空间的名称和作用域限定运算符“::”。例【4-3】使用usingstd和作用域限定运算符::改写例4-1。/*p4-3.cpp*/#includeusingstd::cout;usingstd::cin;usingstd::endl;intmain(){inta;cin>>a;cout<<"a*a="<5、命名空间自定义命名空间(1)定义全局范围的命名空间例【4-4】定义命名空间。/*p4-4.cpp*/#include//定义命名空间MyNamesnamespaceMyNames{constfloatPI=3.14;intr=2;charch1='A';floatCircularArea(){floatarea=PI*r*r;returnarea;}}//使用已定义的命名空间MyNames中的标识符usingnamespacestd;usingnamespaceMyNames;intmain(){cout<<"MyNames6、membervalues:"<7、p*/#include//定义命名空间MyNamesnamespaceMyNames{charch1='A';charch2='B';//定义嵌套的命名空间MyInnerNamesnamespaceMyInnerNames{charch3='a';charch4='b';}}//使用已定义的命名空间MyNames中的标识符usingnamespacestd;intmain(){cout<<"MyNamesmembervalues:"<8、ch2="<
4、rn0;}声明std命名空间(3)使用using、命名空间的名称和作用域限定运算符“::”。例【4-3】使用usingstd和作用域限定运算符::改写例4-1。/*p4-3.cpp*/#includeusingstd::cout;usingstd::cin;usingstd::endl;intmain(){inta;cin>>a;cout<<"a*a="<5、命名空间自定义命名空间(1)定义全局范围的命名空间例【4-4】定义命名空间。/*p4-4.cpp*/#include//定义命名空间MyNamesnamespaceMyNames{constfloatPI=3.14;intr=2;charch1='A';floatCircularArea(){floatarea=PI*r*r;returnarea;}}//使用已定义的命名空间MyNames中的标识符usingnamespacestd;usingnamespaceMyNames;intmain(){cout<<"MyNames6、membervalues:"<7、p*/#include//定义命名空间MyNamesnamespaceMyNames{charch1='A';charch2='B';//定义嵌套的命名空间MyInnerNamesnamespaceMyInnerNames{charch3='a';charch4='b';}}//使用已定义的命名空间MyNames中的标识符usingnamespacestd;intmain(){cout<<"MyNamesmembervalues:"<8、ch2="<
5、命名空间自定义命名空间(1)定义全局范围的命名空间例【4-4】定义命名空间。/*p4-4.cpp*/#include//定义命名空间MyNamesnamespaceMyNames{constfloatPI=3.14;intr=2;charch1='A';floatCircularArea(){floatarea=PI*r*r;returnarea;}}//使用已定义的命名空间MyNames中的标识符usingnamespacestd;usingnamespaceMyNames;intmain(){cout<<"MyNames
6、membervalues:"<7、p*/#include//定义命名空间MyNamesnamespaceMyNames{charch1='A';charch2='B';//定义嵌套的命名空间MyInnerNamesnamespaceMyInnerNames{charch3='a';charch4='b';}}//使用已定义的命名空间MyNames中的标识符usingnamespacestd;intmain(){cout<<"MyNamesmembervalues:"<8、ch2="<
7、p*/#include//定义命名空间MyNamesnamespaceMyNames{charch1='A';charch2='B';//定义嵌套的命名空间MyInnerNamesnamespaceMyInnerNames{charch3='a';charch4='b';}}//使用已定义的命名空间MyNames中的标识符usingnamespacestd;intmain(){cout<<"MyNamesmembervalues:"<8、ch2="<
8、ch2="<
此文档下载收益归作者所有