c++ namespace 实验
2017-05-19 17:57
120 查看
// test_namespace.cpp : Defines the entry point for the console application. // #include <iostream> #include <windows.h> using namespace std; namespace B{ struct test_struct{ int x; }; } namespace C{ struct test_struct{ int x; int y; }; } using B::test_struct; // 即使这里说要使用B namespace, 但是对被namespace C 包围的code 不受影响 namespace C{ void show_c_x(){ test_struct test; // 此处的test_struct 用的是C namespace 的, 不是B 的。 test.x = 3; test.y = 5; std::cout <<"show_c_x:" <<test.x << ":"<< test.y<<"\n"; } } using B::test_struct; // 此处申明使用B 的namespace, 因为namespace D 中没有声明test_struct, 因此D namespace里的test_struct 会用的是B namespace 里的test_struct namespace D{ void show_d_x(){ test_struct test; test.x = 3; test.y = 5; // 此时build fail std::cout <<"show_d_x:" <<test.x << ":"<< test.y<<"\n"; } } using B::test_struct; // 即使这里说要使用B namespace, 但是对被namespace C 包围的code 不受影响, // 但是如果再namespace C 里显示使用B:: 作用域,那么嗨是会应用到B::test_struct namespace C{ void show_c_x(){ B::test_struct test; // 此处的test_struct 是B::的。 test.x = 3; test.y = 5; // build fail std::cout <<"show_c_x:" <<test.x << ":"<< test.y<<"\n"; } } int main(int argc, char * argv[]) { cout << "hello world\n"; C::show_c_x(); D::show_d_x(); Sleep(10000); return 0; }
相关文章推荐
- [C++]实验二:Pointer and Reference
- Dev-C++下关于long long类型的实验
- C++-namespace(命名空间)
- C++namespace的使用
- C++ using namespace std 详解
- C++ using namespace std 详解
- C++ 命名空间namespace
- C++中的namespace
- C++-namespace(命名空间)
- Dev-C++下关于几种int类型格式符的实验
- [C++]实验五:掌握类的声明和对象的定义
- [C++]实验十一:通过定义一个循环链表类和Josephus类
- 关于C++声明iterator时出现找不到namespace的问题
- [C++]实验六:类的静态成员的使用、多文件结构在C++程序中的使用
- Dev-C++下关于char类型的实验
- 【计算机网络实验二】crc编码(c++)实现
- [C++]实验四:掌握内联函数的使用、参数个数不确定的函数的设计...
- namespace(C++名字空间)(2)
- 使用C/C++实现Socket聊天程序(代码+实验报告)
- c++ using namespace 详解