Почему в примерах кода в книге функции создаются после того, как используются?
Возможно вы упускаете заголовочные файлы.
Предыдущие версии IDE это позволяли (при компиляции автоматом расставляли функции как надо).
Более свежие версии IDE уже так не вольничают и приходится строго следовать стандартам C++.