//namesp.cpp -- demo namespace, by tsaiwn@csie.nctu.edu.tw #include #include //Note that ALL C++ library are in namespace std // using namespace std; // 若不寫則所有C++程式庫的都要寫成 std:: namespace Taiwan { void haha( ) { printf("haha haha 哈!\n"); } } namespace japan { void haha( ) { printf("Dou Dou Yo Lou Si Ku!\n"); } void bye( ) { printf("Sa Yo Na La!\n"); } } namespace USA { void haha( ) { printf("won won How do you do!\n"); } void bye( ) { printf("Bye! See U!\n"); } } namespace Taiwan { //注意這也是在 Taiwan void bye( ) { printf("Good bye! 再見!!\n"); } } void bye(int x) { printf("BBB BBB BBBBB!\n"); } //name overloading using namespace Taiwan; //using namespace USA; //using namespace japan; int main( ) { // cout << "Welcome ..." << endl; // 若有 using namespace std; std::cout << "Welcome ..." << std::endl; printf("Now do japan::haha( );\n"); japan::haha( ); printf("\n"); printf("Now do USA::haha( );\n"); USA::haha( ); printf("Now do USA::bye( );\n"); USA::bye( ); printf("=== now do haha( ); bye( );\n"); haha( ); bye( ); printf("Note the using namespace ...\n"); ::bye(38); // this function is in default namespace return 0; } /****** D:\COURSE\OOP\ppnt>g++ namesp.cpp D:\COURSE\OOP\ppnt>a Welcome ... Now do japan::haha( ); Dou Dou Yo Lou Si Ku! Now do USA::haha( ); won won How do you do! Now do USA::bye( ); Bye! See U! === now do haha( ); bye( ); haha haha 哈! Good bye! 再見!! Note the using namespace ... BBB BBB BBBBB! D:\COURSE\OOP\ppnt> ********************************/