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