Я не уверен в этом и немного искал, что-то особенно полезное. Итак, предположим, что у меня есть заголовочный файл с пространством имен, который содержит некоторые классы C1 и C2;Автономные функции/данные в C++
namespace my_namesp {
class C1 {
public:
blah1;
...
private:
blah2;
...
};
class C2 {
public:
junk1;
...
private:
junk2;
...
};
} //-End namespace
Теперь предположим, что в реализации (СРР), я все функции-члены С1, С2 определены, то предположим, что у меня есть некоторые общие данные, которые я хочу C1 и C2, чтобы разделить, скажем, перечисление и string array, но я не обязательно хочу, чтобы они были частью любого класса. Тогда законно ли сделать следующее (примечание: оно строит и прекрасно работает); и как насчет того, экспортирую ли я эту реализацию в виде библиотеки для клиентского приложения? Будет ли это работать? Разве такой дизайн нахмурился по какой-либо причине, о которой я должен знать? Возможно, конкретная особенность ООП может быть лучше подходит для такого рода вещей?
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
Заранее благодарим за любые идеи/исправления.
Да, это нормально. –
Спасибо @MooingDuck Это был ответ, который я надеялся услышать! –