В моем Qt-проекте у меня есть несколько классов (файлы.h и.cpp). В некоторых из них я использую разные константы и функции. Существуют некоторые константы, которые я использую в 2 или 3 разных классах. Но я думаю, что это не очень хорошо. Итак, вопрос в том, как избежать этого? Должен ли я создать еще один класс, где я могу написать все эти константы и функции и включить этот класс? Может быть, есть еще предложения?
PS Например, такие функции, как abs
или sign
и константы, такие как const int Scale = 50
Вы не объясните, что это за константы.
Я бы сделал их некоторым #define
-d макросом, например
#define MY_AVOGADRO 6.22e+23
или
#define MY_FIRST_NAME "Basile"
YMMV. Я согласен с тем, что макросы препроцессора являются низкотехнологичными, но они полезны!
Так что у них есть #define
внутри некоторого общего заголовка. Примите привычку использовать какой-то общий префикс. В том же заголовочном файле объявите свои глобальные функции или определите свои static inline
функции.
Альтернативно, код что-то вроде
const double my_avogadro = 6.22e+23;
Вам, вероятно, не нужно определять для этого class
C++.
См. Также этот вопрос.
abs
уже является стандартной функцией (используйте<math.h>
или<cmath>
затемfabs
). Что такоеScale
и почему он должен быть константой (а не настраиваемым параметром времени выполнения)?