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