(一)引入namespace原因:

假如有很多跟人共同完成一项工程,工程中难免会有函数定义一样的名称,不可能一个一个的询问这个函数 你定义过了没有,所以引入namespace
 #include <stdio.h>
#include "person.h"
#include "dog.h" /*global namespace*/
/*把A::person放入global namespace,以后可以使用person来表示A::person*/
using namespace A;
using namespace C; int main(int argc,char ** argv)
{
/*local namespace*/
Person per;
Dog dog;
per.setName("zhangsan");
per.setAge();
per.printInfo(); dog.setName("lisi");
dog.setAge();
dog.printInfo(); A::printVersion();
C::printVersion();
return ;
}

main.cpp

 #include <stdio.h>
namespace A{ class Person{
private:
char *name;
int age;
char *work; public:
void setName(char *name);
int setAge(int Age);
void printInfo(void);
}; void printVersion(void);
}

person.h

 #include <iostream>
#include "person.h"
using namespace std; namespace A{
void Person::setName(char *name)
{
this->name = name;
}
int Person::setAge(int Age)
{
if(Age < || Age > )
{
this->age = ;
return -;
}
this->age = Age;
return ;
}
void Person::printInfo(void)
{
cout<<"nane = "<<name<<"age = "<<age<<"work = "<<work<<endl;
//intf("name = %s, age = %d, work = %s\n",name,age,work);
} void printVersion(void)
{
cout<<"Person V1, by luxiaoguo"<<endl;
//intf("Person V1, by luxiaoguo\n");
} }

person.cpp

 namespace C{

 class Dog{
private:
char *name;
int age;
char *work; public:
void setName(char *name);
int setAge(int age);
void printInfo(void);
}; void printVersion(void); }

dog.h

 #include <stdio.h>
#include "dog.h" namespace C{ void Dog::setName(char *name)
{
this->name = name;
}
int Dog::setAge(int Age)
{
if(Age < || Age > )
{
this->age = ;
return -;
}
this->age = Age;
return ;
}
void Dog::printInfo(void)
{
printf("name = %s, age = %d, work = %s\n",name,age,work);
} void printVersion(void)
{
printf("Dog V1, by luxiaoguo\n");
}
}

dog.cpp

最新文章

  1. 深入浅出Symfony2 - 结合MongoDB开发LBS应用
  2. IE6-11使用location.href提交时的链接复制到firefox或chrome时出现乱码
  3. [No000028]Python的使用之禅及程序员应该明白的一些道理
  4. 【BZOJ-3626】LCA 树链剖分
  5. [问题2014S04] 解答
  6. 简单利用jQuery加tomcat,让前端开发不再依赖于后端的接口
  7. ACM——2的n次方
  8. java IO复习(二)
  9. [c#]如何在form的webbrowser控件中获得鼠标坐标
  10. Linux 内核优化
  11. 五毛的cocos2d-x学习笔记06-处理用户交互
  12. Sicily-1134
  13. 多个UpdatePanel控件相互引发刷新的使用
  14. FPGA学习体会
  15. Android中实现定时器的四种方式
  16. IT服务(运维)管理实施的几个要点--序言
  17. Go语言基础(一)
  18. Day01_Python学习今日收获
  19. [Vijos 1676] 陶陶吃苹果
  20. hdu3255扫描线:带权面积交转体积交

热门文章

  1. SDOI2010_大陆争霸(邻接表存图)
  2. 关于NumPy中数组轴的理解
  3. Go语言学习笔记(5)——集合Map
  4. 在一台服务器上启动多个Broker
  5. Go学习路径--相关基础
  6. CSPS2019游记
  7. Unity性能优化-遮挡剔除
  8. adminMongo:mongoDB node GUI(mongoDB图形化界面)
  9. springboot启动流程(八)ioc容器refresh过程(下篇)
  10. [书籍翻译] 《JavaScript并发编程》 第二章 JavaScript运行模型