что при
предварительной декларации
классов, реализации методов
нужно располагать вне тела
класса.
Само собой, ведь инструкцией
мы только даем понять, что такой класс существует. Но про его методы и переменные компилятору ничего не известно. Поэтому функции, где используются эти методы необходимо выносить.