随笔-34  评论-108  文章-0  trackbacks-0
namespace His_string
{
   class String {/*..............*/};
   String operator+ (const String&,const String);
   String operator+ (const String&,const char*);
   void fill(char);
   //....
}

namespace My_lib
{
   using namespace His_String;
   void My_fat(String&);
}
    有了这些,我们就可以在My_lib的基础上写程序了
void f()
{
   My_lib::String s="test";  //可以,找到My_lib::His_string::String
}
如果显示限定的名字(My_lib::String)在所说的名字空间里没有声明,编译器就会去查看使用指令说到的名字空间。
void My_lib::fill(char c)  //错误,在My_lib里面没有声明fill
{
   
}
在我们需要定义什么东西的时候,需要知道一个实体所在的真实的名字空间。
posted on 2007-01-31 10:02 探丫头 阅读(1101) 评论(2)  编辑 收藏 引用 所属分类: 编程语言——C++

评论:
# re: 名字空间组合[未登录] 2007-02-11 16:58 | BBSky
看到你发的几篇关于namespace方面的文章,相对来说C++中的名字空间这样一个新的概念是在C++标准化后期才引入的特性,所以其中的很多方面的内容在大多数的书籍和材料中讲述不太清楚,建议发起一个本内容的讨论,namespace可以实现很多人认为只有在Java这样的纯对象化的语言中才能做到的名称隔离与引入,可以分级管理名字空间的层次。  回复  更多评论
  
# re: 名字空间组合 2007-02-11 17:00 | 平凡小草
@BBSky
是的啊,名字空间讲述的不是很多  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理