Я уже читал много сообщений и статей по всей сети, но я не мог найти определенного ответа об этом.
У меня есть некоторые функции с аналогичными целями, которые я хочу получить из глобальной области. Некоторые из них должны быть общедоступными, другие должны быть частными (потому что они являются лишь вспомогательными функциями для "публичных" ). Кроме того, у меня нет только функций, но и переменных. Они нужны только вспомогательным функциям "private" и также должны быть закрытыми.
Теперь есть три способа:
- создание класса со всем статичным (contra: потенциал "Невозможно вызвать функцию-член без объекта" - не все должно быть статическим)
- создание одноэлементного класса (contra: я WILL нужен объект)
- создание пространства имен (нет закрытого ключевого слова - зачем мне помещать его в пространство имен вообще?)
Каким будет способ для меня? Возможный способ объединения некоторых из этих способов?
Я подумал о чем-то вроде:
- создавая синглтон, статические функции используют вспомогательную функцию одноэлементного объекта (возможно ли это? Я все еще в классе, но получаю доступ к объекту этого типа)
- вызываемый при запуске программы, инициализирует все (- > убедитесь, что статика может получить доступ к функциям от объекта singleton)
- доступ к публичным функциям только через MyClass:: PublicStaticFunction()
Спасибо.