我对此不确定,并且搜索了一下并没有发现任何特别有用的东西。所以,假设我有一个头文件,其名称空间包含一些 C1 和 C2 类;
namespace my_namesp {
class C1 {
public:
blah1;
...
private:
blah2;
...
};
class C2 {
public:
junk1;
...
private:
junk2;
...
};
} //-End namespace
现在假设在实现(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
再次提前感谢任何想法/更正。