我不确定这一点,搜索有点并没有发现任何特别有用的东西.所以,假设我有一个带有命名空间的头文件,其中包含一些类C1和C2;
namespace my_namesp {
class C1 {
public:
blah1;
...
private:
blah2;
...
};
class C2 {
public:
junk1;
...
private:
junk2;
...
};
} //-End namespace
Run Code Online (Sandbox Code Playgroud)
现在假设在实现(CPP)中,我已经定义了C1,C2的所有成员函数,然后假设我有一些我希望C1和C2共享的常见数据,比如枚举和字符串数组,但我不知道我们一定希望他们成为任何一个班级的一部分.那么执行以下操作是合法的(注意:它构建并且工作正常); 如果我将此实现导出为客户端应用程序的库,该怎么办?这还行吗?这种设计是不是因为我应该注意的任何原因而不受欢迎?也许OOP的一个特定功能可能更适合这种事情?
namespace my_namesp {
enum some_list_num {
list_member1,
list_member2,
...,
list_length
}
static const std::string string_list[] = {
str1,
str2,
...,
strN
}
return_type C1::some_func1(...) {
...
}
...
return_type C1::some_func1(...) {
...
}
} //-End my namespace
Run Code Online (Sandbox Code Playgroud)
再次提前感谢任何想法/更正.