我熟悉以下命名空间的使用。
在头文件(例如people.h
)中,我描述了一个名称空间的接口。例如:
namespace people{
int getAge(str Name);
void setName(str Name);
}
然后在people.cpp
我定义空间名称的方法:
#include "people.h"
int people::getAge(str Name) {
something_1;
something_2;
}
void people::setName(str Name) {
something_1;
}
但是,在我拥有的头文件中,我看到除了其他名称空间之外namespace people
还有其他名称空间的接口(例如namespace dogs
)。并且这些名称空间没有在people.cpp
文件中定义。
因此,我假设(由于某些奇怪的原因)将接口namespace dogs
放入 中people.h
,然后在“dogs.cpp”文件中定义名称空间 dog。所以,换句话说,我假设在两个不同的 cpp 文件中定义了两个不同的名称空间,但它们的接口在一个头文件中描述。但是,这个假设似乎是错误的,因为我发现有很多头文件声明了“命名空间狗”。
所以,我假设namespace dogs
在 2people.h" 文件中有另一个功能,但我不知道它是什么功能。有人可以帮我吗?
添加
我试图理解的代码不是我写的,它工作正常。所以,这应该是有道理的。可能是我不够清楚。所以,我试着举个例子:
在头文件(people.h
)中,我有:
namespace etet
{
class date;
}
namespace xsystem{
class estimation_module;
}
namespace people {
a_lot_of_different_stuff;
}
然后people.cpp
定义了属于 people 命名空间的所有方法。