Глобальные переменные и функции в заголовках

Я пытаюсь разделить мой код на заголовки и cpps
Я сделал .h и .cpp для каждого класса, который у меня был
но я понятия не имею, куда поместить функции (которых нет в классах) и глобальные переменные
Я пытался поместить их в основной, но это не сработало
Я также попытался поместить их в каждый cpp, который нуждался в них, но я получил ошибку (множественное определение переменной)
Что делать?

1

Решение

В .h:

extern int myGlobal;
int myFunction(int arg);

В один из .cpp файлов:

int myGlobal;

int myFunction(int arg)
{
return arg + 5;
}

Вы можете разделить вещи на несколько файлов .cpp, просто не делайте определять что-нибудь в более чем одном месте. Если вы поместите определение в файл .h и включите его несколько раз, вы получите несколько (конфликтующих) определений.

2

Другие решения

Других решений пока нет …