быстрый вопрос.
Я пытаюсь разобраться с C ++, и сегодня я провел часы с ошибкой компоновщика двойного определения («это уже было определено!»), И я наконец понял, что это потому, что у меня был макет как таковой:
А теперь, когда я это выяснил, включив Dog.h вместо Dog.cpp в main.cpp.
При включении файла .h файл .cpp с идентичным префиксом компилируется с программой?
Я был поражен, когда программа работала только с включенным .h и без ссылок на Dog.cpp. Я провел целую вечность, гугляя, но никакие ответы не помогли мне понять, что происходит.
Редактировать : Я забыл добавить, что я создал прототип в .h, и определил функцию для класса в .cpp, и это то, что дало мне «уже определенную» ошибку.