《(3.9)--3.9 命名空间面向对象程序设计.ppt》由会员分享,可在线阅读,更多相关《(3.9)--3.9 命名空间面向对象程序设计.ppt(9页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、命名空间命名空间1.1.为什么为什么需要命名空间需要命名空间 引用命名空间引用命名空间的概念就是为了解决程序中名字冲的概念就是为了解决程序中名字冲突的问题突的问题 2.2.什么是命名空间什么是命名空间 所谓命名空间就是一个由程序设计者命名的内存所谓命名空间就是一个由程序设计者命名的内存区域区域 不同机构、不同程序员都可以将外部函数和全局不同机构、不同程序员都可以将外部函数和全局变量定义在各自的命名空间里,这样就能消除他变量定义在各自的命名空间里,这样就能消除他们的重名问题。们的重名问题。3.3.如何如何使用命名空间使用命名空间 定义命名空间定义命名空间时,语法如下:时,语法如下:其中其中成员的
2、类型包括:常量、变量、函数、结构成员的类型包括:常量、变量、函数、结构体、类、模板等,还可以体、类、模板等,还可以是命名空间是命名空间 。namespace 命名空间名 定义成员命名空间定义命名空间举例:定义命名空间举例:namespace ns const int RATE=0.08;double money;double tax()return money*RATE;namespace ns2 int count;(1)直接访问)直接访问命名空间命名空间:成员成员名名如:如:ns:RATEns:moneyns:tax()ns:ns2:count等等 命名空间访问命名空间中成员的方式:定义命
3、名空间举例:定义命名空间举例:namespace ns const int RATE=0.08;double money;double tax()return money*RATE;namespace ns2 int count;(1)使用使用using引入名引入名字空间的成员字空间的成员名名,如:如:using ns:RATE;using ns:tax;money=45.6;couttax();命名空间访问命名空间中成员的方式:namespace mfc int inflag;int main()using namespace mfc;inflag=10;cout inflagendl;命名
4、空间(3)用用using namespace 名字名字空间名空间名,如如:访问命名空间中成员的方式:.标准命名空间标准命名空间std std C+C+系统将标准系统将标准C+C+库中的所有标识符都放在名为库中的所有标识符都放在名为stdstd的命名空间中定义,即系统预定义的头文件的命名空间中定义,即系统预定义的头文件中的函数、类、对象和类模板都是在名字空间中的函数、类、对象和类模板都是在名字空间stdstd中定义的中定义的一旦使用了命名空间一旦使用了命名空间stdstd,就必须保证在程序中,就必须保证在程序中不再定义与命名空间中已经出现的标识符同名的不再定义与命名空间中已经出现的标识符同名的量量。例如例如在程序中不能再定义名为在程序中不能再定义名为cincin或或coutcout的对象。的对象。命名空间#includeusing namespace std;int main()coutffffendl;#includeint main()std:coutffffstd:endl;上面的程序中如果省略上面的程序中如果省略using namespace std;呢?呢?命名空间小结1.输入/输出流对象cinCout2.数值型数据抽取3.字符型数据抽取