Меня смущает множество мелочей. Самое главное, конечно, то, что если вы создаете отдельный файл .cpp, чтобы классы были красивыми и разделенными, как в Java, вам также придется создать файл .h, описывающий все, что вы хотите создать.
Я понимаю, почему вы должны это сделать, поскольку компилятор не может понимать импортированные классы без импортированного объявления, но я не понимаю, почему это нормально. Если у меня есть два файла, в которых говорится об одной и той же структуре, и только один имеет функциональность, то почему это не повторение? (или я просто как-то совершенно неправильно понимаю заголовки и классы?)
Подробнее здесь: https://stackoverflow.com/questions/797 ... -violation