Palabra primeraPalabra(0,"");
Palabra ultimaPalabra(0, "");
Palabra palabraTemp(0, "");
Критическую проблему с данным файлом заголовка можно увидеть в следующих строках. вы создаете 3 экземпляра класса внутри заголовочного файла
Прежде всего, мы должны спросить себя: "Что такое заголовочный файл?" Предположим, у вас много объявлений функций, а в вашей программе много разных классов и определений структур. Ну, один из вариантов - поместить их все в файл . cpp. Ну, это было бы очень грязно, и код не был бы таким модульным. Вопрос, который мы должны задать себе: «Как мы можем разделить наши определения и объявления функций и методов, а также определения классов и структур в различных и уникальных файлах?»
Неудивительно, что заголовочные файлы могут помочь us.
Предположим, у вас есть 2 класса A & B, и вы sh хотите разделить их объявления и определения в разных файлах. Вот обычный способ сделать это: Ah - файл, который будет содержать объявлений , относящихся только к A * A. cpp - файл, который будет содержать реализации функций и методов, объявленных в Ah Bh - Файл, который будет содержать объявлений , относящихся только к A ** B . cpp - файл, который будет содержать реализации функций и методов, объявленных в Bh
Кто-то может спросить: «Как бы вы использовали функции и методы, объявленные в заголовочных файлах? " Чтобы включить заголовочный файл в ваш исходный код, вы можете напечатать следующий код C / C ++
#include "filename.h"
************* * Дополнительное примечание ************** Прежде чем кто-то кричит на меня в комментариях - Да, реализации шаблонных функций должны быть в файле заголовка, а не в файле cpp Если вы не ' не знаю, что такое шаблоны - https://en.wikipedia.org/wiki/Template_ (C% 2B% 2B) (дополнительный материал) Но это совсем другие топи c ******** ****** Дополнительное примечание **************
Как это скомпилируется ????????? Ну, между Компиляция и финальный исполняемый файл - это промежуточный этап, называемый linking . компоновщик отвечает за объединение всех указанных файлов заголовков; Подробнее о процессе связывания вы можете прочитать здесь: https://en.wikipedia.org/wiki/Linker_ (вычисления)
Вывод - проблема в коде
Вы, по сути, написали строки для создания 3 экземпляров класса в файла заголовка . Эти строки совершенно неуместны и, вероятно, были написаны там случайно, однако, из-за того, что вы указали, что вы новичок в работе заголовка, это общее введение с несколькими модными словами, которые вы можете смело гуглить. Если у вас есть какие-либо вопросы, задавайте их в комментариях!