首页 > 代码库 > C++ 拾遗补缺 namespace enum
C++ 拾遗补缺 namespace enum
namespace
写了两个命名空间,里面有同名的函数
[root@linux tmp]# cat main.cpp #include <iostream> namespace space1 { void fun(void) { std::cout<<"space1 \n"; } } namespace space2 { void fun(void) { std::cout<<"space2 \n"; } } int main(void) { fun(); return 0; } 没有指定命名空间,编译期间报错: [root@linux tmp]# g++ main.cpp && ./a.out main.cpp: In function ‘int main()’: main.cpp:22: error: ‘fun’ was not declared in this scope [root@linux tmp]#
using 一个命名空间
[root@linux tmp]# cat main.cpp #include <iostream> namespace space1 { void fun(void) { std::cout<<"space1 \n"; } } namespace space2 { void fun(void) { std::cout<<"space2 \n"; } } using namespace space1; int main(void) { fun(); return 0; } [root@linux tmp]# g++ main.cpp && ./a.out space1 [root@linux tmp]#
手动指定命名空间:
[root@linux tmp]# cat main.cpp #include <iostream> namespace space1 { void fun(void) { std::cout<<"space1 \n"; } } namespace space2 { void fun(void) { std::cout<<"space2 \n"; } } int main(void) { space1::fun(); space2::fun(); return 0; } [root@linux tmp]# g++ -Wall main.cpp && ./a.out space1 space2 [root@linux tmp]#
枚举
[root@linux tmp]# cat main.c # include <stdio.h> enum weekday { sun, mon, tue, wed, thu, fri, sat } day; int main() { int k; printf("input a number(0--6) "); scanf("%d",&k); day=(enum weekday)k; switch(day) { case sun:printf("sunday\n");break; case mon:printf("monday\n");break; case tue:printf("tuesday\n");break; case wed:printf("wednesday\n");break; case thu:printf("thursday\n");break; case fri:printf("friday\n");break; case sat:printf("satday\n");break; default:printf("input error\n");break; } return 0; } [root@linux tmp]# gcc main.c && ./a.out input a number(0--6) 2 tuesday [root@linux tmp]# gcc main.c && ./a.out input a number(0--6) 0 sunday [root@linux tmp]#
本文出自 “魂斗罗” 博客,请务必保留此出处http://990487026.blog.51cto.com/10133282/1864328
C++ 拾遗补缺 namespace enum
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。