Они находятся в пространстве имен std. Добавьте эти строки:
using std::cout;
using std::endl;
using std::cin;
В качестве альтернативы, каждый раз, когда вы используете их, называйте их полными именами, например:
std::cout << "Select a direction: " << std::endl;
Это очень утомительно и может усложнить чтение вашего кода.
Некоторые люди используют
using namespace std;
вместо этого, но вы можете получить нежелательные побочные эффекты от этого. Класс, который вы написали, может иметь то же имя, что и что-то другое в пространстве имен std, и ваш слишком широкий оператор using теперь вызовет коллизию. Вот почему вы никогда не должны говорить using namespace std;
в заголовочном файле. В файле .cpp это нормально, но я предпочитаю отдельные утверждения сам. Это дает понять, кто читает ваш код, что вы используете из заголовков, которые вы включили.