Добрый день. Учу язык (с++) на практике - пробую писать простенький 2D движок. Уже получился довольно большой объем кода, решил его лучше организовать - выделить каждый внушительный класс (вместе с подклассами) в отдельные файлы. Дело пошло, создал пару файлов, перенес код, подключил в общей куче - работает. Но, столкнулся с проблемой:
К примеру, класс с методами отвечающими за работу с графикой у нас хранится в файле "Graphics.h". Эти самые методы нужны нам в многих местах, к примеру, отображение сцены (классы с методами в "Scene.h") - подключаем. Но если его же подключить еще в один файл (а их может быть много - работа с меню, текстом, - везде где могут понадобиться графические операции), то возникает ошибка "переопределение типа class". Реализацию таким образом подсказал друг, дружащий с php (там такой проблемы нет). Возможно стоит отказаться от .h файлов, но чем заменить? Или я что-то не учел и можно оставить как есть (естественно изменив так, чтобы работало)?
P.S. Я понимаю, что при сборке получается несколько описаний класса Graphics в общем котле, что и вызывает ошибку. Не понимаю только как можно это обойти.