.2名字空间 嵌套名字空间:名字空间内定义名字空间,形 成多个层次的作用域,引用时多个作用域运算 符自左向右结合。 ▣引用名字空间后,其内部定义的成员、其内部 引用的名字空间成员、其内部引用的名字空间 (所有成员)都能被访问。 引用名字空间后,可在当前作用域定义同名标 识符。但访问时必须用作用域运算符限定
4.2 名字空间 嵌套名字空间:名字空间内定义名字空间,形 成多个层次的作用域,引用时多个作用域运算 符自左向右结合。 引用名字空间后,其内部定义的成员、其内部 引用的名字空间成员、其内部引用的名字空间 (所有成员 )都能被访问。 引用名字空间后,可在当前作用域定义同名标 识符。但访问时必须用作用域运算符限定
4.2名字空间 #include <iostream.h> ■ namespace ALPHA void e(){cout <<"ALPHA\n"; ■ void f(){cout <"ALPHA\n"; ■ namespace DELTA ■ using namespace ALPHA; void g(){cout <"DELTA\n"; ▣}
4.2 名字空间 #include <iostream.h> namespace ALPHA { void e( ) { cout << "ALPHA\n"; } void f( ) { cout << "ALPHA\n"; } } namespace DELTA{ using namespace ALPHA; void g( ) { cout << "DELTA\n"; } }
4.2名字空间 using namespace DELTA; void f(){cout <"Global\n"; void main(void){ :f()./全局函数f ALPHA::f();77ALPHA::f 必须限定,同名 ■ DELTA:f();//ALPHA::f ■ e(); //ALPHA:e g(): //DELTA::g
4.2 名字空间 using namespace DELTA; void f( ) { cout << "Global\n"; } void main(void) { ::f( ); //全局函数 f ALPHA::f( ); //ALPHA::f DELTA::f( ); //ALPHA::f e( ); //ALPHA::e g( ); //DELTA::g } 必须限定,同名