0 / 0 / 0
Регистрация: 16.09.2017
Сообщений: 33
|
||||||
1 | ||||||
Правильное подключение .h и .cpp файлов24.10.2019, 00:00. Показов 10740. Ответов 7
Доброго времени уважаемые форумчане. Я совсем зеленый в плюсах, не бейте пожалуйста сильно.
Делаю программу которая выдает разные математические задачи для решения. На примере этой программы хочу попрактиковаться в подключении разных файлов. Задача следующая: Оформить 2 заголовочных файла main.h и tasks.h: В main.h будут все необходимые #include используемые в коде. В tasks.h будет перечисление всех .cpp с исходными кодами задач (task1.cpp, task2.cpp, task3.cpp...). Файлы task1.cpp, task2.cpp... должны включать в себя только код отвечающий за отработку методов отдельных задач. (пример метода одной задачи - bool task1() в коде ниже) В главном MathTrainer.cpp файле проекта будет описан код отвечающий за случайную выдачу задач и ведение счета, то-есть метод int main (). Также хочу вывести в отдельный файл Randomer.cpp с кодом который отвечает за методы int random() генерирующую "случайные" числа. На данный момент у меня есть рабочий код с одной задачей, но работает он только в если весь код в главном файле MathTrainer.cpp. Если я пытаюсь как-либо это все "распихать" по разным файлам и попереподключать все это дело, ловлю ошибки LNK2005 и LNK1169. Подскажите пожалуйста, как это правильно делать?
0
|
24.10.2019, 00:00 | |
Ответы с готовыми решениями:
7
Подключение файлов main.cpp some.cpp some.h
|
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
|
|
24.10.2019, 00:05 | 2 |
посмотри урок может зайдет
https://www.youtube.com/watch?... s&index=28
0
|
![]() ![]() |
|||||||||||||||||||||
24.10.2019, 15:00 | 3 | ||||||||||||||||||||
![]() Решение
а в чём проблема?
task1.h
1
|
0 / 0 / 0
Регистрация: 16.09.2017
Сообщений: 33
|
|
24.10.2019, 17:03 [ТС] | 4 |
Проблема в том что в попытке это сделать я сталкиваюсь с ошибками LNK2005 и LNK1169.
Я не пойму что я делаю не так и поэтому прошу показать как правильно сделать то что я хочу сделать (все подробно описано в первом сообщении)
0
|
6770 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
||||||
24.10.2019, 17:09 | 5 | |||||
![]() Решение
Это что значит, что за перечисление .cpp?
В h-файлах у тебя должны быть только декларации функции, вот в таком виде
1
|
0 / 0 / 0
Регистрация: 16.09.2017
Сообщений: 33
|
|
24.10.2019, 18:13 [ТС] | 6 |
Кажется в этом проблема! Сейчас попробую!
Вот чего я не знал! Все работает! Огромное спасибо!!!
0
|
0 / 0 / 0
Регистрация: 16.09.2017
Сообщений: 33
|
|
24.10.2019, 22:36 [ТС] | 8 |
Теперь я понимаю что Вы показали, до этого это был непонятный мне код. Но все равно спасибо!
0
|
24.10.2019, 22:36 | |
Помогаю со студенческими работами здесь
8
Подключение к main.cpp заголовочных файлов с классами Правильное связывание .cpp & .h
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
![]() |
Новые блоги и статьи
![]() |
||||
Что нового в C# 14
UnmanagedCoder 10.03.2025
Предстоящая версия C# 14 обещает принести изменения, которые сделают разработку еще более приятной и эффективной.
Что стоит отметить, так это влияние сообщества разработчиков на формирование новых. . .
|
Формулы поворота
Igor3D 10.03.2025
Добрый день
Тема
Эти формулы приводятся во множестве тьюториалов, часто под видом "матрица вращения на плоскости".
x' = x * cos(a) - y * sin(a)
y' = y * cos(a) + x * sin(a)
Как бы Вы их. . .
|
Что нового в .NET 10
UnmanagedCoder 10.03.2025
. NET 10 выходит как релиз с длительной поддержкой (LTS), включающей три года обновлений. В этом обновлении Microsoft сфокусировались на нескольких направлениях: производительность, оптимизация. . .
|
Отложенное высвобождение, RCU и Hazard Pointer в C++26
NullReferenced 09.03.2025
Многопоточное программирование стало важной частью современной разработки. Когда несколько потоков одновременно работают с общими данными, возникает целый ряд проблем, связанных с синхронизацией и. . .
|
Неблокирующийся стек на C++26
NullReferenced 09.03.2025
Традиционные способы синхронизации в многопоточном программировании — мьютексы, семафоры, условные переменные — часто превращаются в узкое место в плане производительности. При этом неблокирующиеся. . .
|
Обработка строк в C++26: Новые возможности string и string_view
NullReferenced 09.03.2025
Новый стандарт C++26 предлагает много улучшений для работы с привычными string и относительно новыми string_view.
string_view - это невладеющая ссылка на последовательность символов, появившаяся в. . .
|
Мой первый аддон для Blender 3D, с помощью нейронки (не зная даже азов пайтона, но это не значит что так и с остальным).
Hrethgir 09.03.2025
Потратил весь день. Пол-дня мне хватило, чтобы понять что с версией с 14B мне не одолеть написание функционального кода, на языке с которым я вообще никак не знаком - пайтон. Версия 22B от другого. . .
|
Einstein@Home сегодня исполняется двадцать лет!
Programma_Boinc 09.03.2025
Einstein@Home сегодня исполняется двадцать лет!
Отправлено 19 февраля 2025 года в 17:20:21 UTC
Я хочу поздравить всех наших волонтеров, разработчиков и ученых из Einstein@Home.
Мы официально. . .
|
Заполнители и расширенный набор символов в C++26
NullReferenced 09.03.2025
C++26 представляет два важных обновления: заполнители и расширенный набор символов. Заполнители (placeholders) решают давнюю проблему лаконичности кода в шаблонных выражениях и лямбда-функциях. Они. . .
|
Контракты в C++26
NullReferenced 09.03.2025
Контракты – это механизм, позволяющий указывать предусловия, постусловия и инварианты для функций в коде. Эта функциональность должна была стать частью C++20, но была исключена на встрече комитета. . .
|