9.3.3 名称空间示例(2)

2013-10-07 15:42:54 · 作者: · 浏览: 83

9.3.3  名称空间示例(2)

程序清单9.13  namessp.cpp

 
 
在程序清单9.13中,main( )函数首先使用了两个using声明:
 

注意,using声明只使用了名称,例如,第二个using声明没有描述showDebt的返回类型或函数特征标,而只给出了名称;因此,如果函数被重载,则一个using声明将导入所有的版本。另外,虽然Debt和showDebt都使用了Person类型,但不必导入任何Person名称,因为debt名称空间有一条包含pers名称空间的using编译指令。

接下来,other( )函数采用了一种不太好的方法,即使用一条using编译指令导入整个名称空间:

 

由于debts中的using编译指令导入了pers名称空间,因此other( )函数可以使用Person类型和showPerson( )函数。

最后,another( )函数使用using声明和作用域解析运算符来访问具体的名称:

 
下面是程序清单9.11~程序清单9.13组成的程序的运行情况: