Ошибка множественных определений в С++ и решение этой проблемы [дубликат]C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка множественных определений в С++ и решение этой проблемы [дубликат]

Сообщение Anonymous »

Я новичок в C++. У меня есть некоторые сомнения относительно ошибки множественных определений в C++.

Предположим, у меня есть 3 файла в программе. Один файл заголовка и два файла .cpp. Я включил файл заголовка в оба файла .cpp.
  • Я объявил класс в файле заголовка и определил класс в каждом из файлов .cpp одинаково. Так не приведет ли этот тип реализации к ошибке нескольких определений? Если да, то потому, что у него есть две копии определений классов, и компилятор не знает, какую из них использовать при связывании двух файлов .o?
Можем ли мы решить эту проблему, используя extern в заголовочном файле и определив класс только в одном из файлов? Если мы можем решить проблему с помощью этого метода, нужно ли нам включать .cpp (с определением класса) в другой файл .cpp (без определения класса)?
  • Я объявил и определил класс в заголовочном файле. Этот случай аналогичен приведенному выше (упомянутому в пункте 1)?
  • Я объявил класс в заголовочном файле и определил класс в каждом из .cpp, но определения (тела функций) различаются. Так будет ли этот тип реализации вызывать ошибку нескольких определений? Если да, то как мы можем решить эту проблему, когда тела функций различаются в файлах .cpp?


Подробнее здесь: https://stackoverflow.com/questions/189 ... this-issue
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»