Как упомянул sdxq, по факту структуры и классы идентичны, кроме модификатора доступа по умолчанию. Но исторически так сложилось, что структуры используются только для хранения каких-либо данных, без операций. Например,
Я делал (не для курсача, просто по ходу учебы) некий платформер по типу Марио в консоли, все отрисовывалось псевдографикой. Писалось на С, но на С++ с классами даже проще будет