命名空间
1 出现的原因
由于项目有有由多人做的情况下,不可避免使用同样的参数名。
于是引入命名空间 namespace
2使用
2.1 如何定义命名空间内的参数和方法
“person.c”中
#include <iostream>
#include "person.h"
namespace A{
using namespace std;
void person::setname(char* name)
{
this->name = name;
}
int person::setage(int age)
{
if(150 > age > 0)
{
this->age = age;
return 1;
}
else
{
return 0;
}
}
void person::printInfo(void)
{
cout<<"name = " << name << " "<<"age = "<<age<<" "<<"work = "<<work<<endl;
}
void printversion(void)
{
cout<<"version = 1.0"<<endl;
}
“person.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);
}
注意 cout 和endl是定义在 std空间中的
2.2 调用命名空间的类或者方法
1 变量前加空间名
如:std::cout;
std::endl
A::printversion();
2 先申明在调用
using A::printversion();//引入A::printversion 并用printversion代表,\
下文可以直接用printversion,不过这里不可以在引入其他带有该方法名的命名空间。
printversion();
3 直接引入整个命名空间,再调用
using namespace std;//这里就是先引入 std下文可以直接调用cout 和endl
cout<<"version = 1.0"<<endl;
再见!!!
网友评论