вопрос актуален?
Если да, то...
Вот мой код на Java, думаю не сложно будет его перевести на C++.
Будет работать если у вас предметы имеют параметры x, y - координаты, width, height - размеры. Предметы должны быть прямоугольными.
Функция находится в классе Entity, принимает как параметр другой объект Entity и проверяет коллизию.
Entity - класс предмета.
Код
public boolean isCollision(Entity other) {
if (other.getX() < getX() + getWidth() && other.getX() + other.getWidth() > getX() &&
other.getY() < getY() + getHeight() && other.getY() + other.getHeight() > getY()
) { return true; }
return false;
}