Например я создал файл Source.cpp и подключил туда такие библиотеки: iostream, string, vector. Затем я создал другой файл, допустим Source2.cpp и подключил к нему Source.cpp, а после уже создал файл Main.cpp с входной функцией main и подключил туда Source2.cpp. При таком способе подключении, если файлов много, появляется путаница, есть ли какой-нибудь другой способ подключения библиотек и файлов?
#pragma once
в начале файла предотвращает его повторную загрузку
В c и c++ принято разделять описание своих типов и классов на заголовочный файл .h и собственно код .cpp
Заголовочные файлы подключаешь с помощью #include "xxx.h", а вот файлы cpp компилируются отдельно в .o (.obj для майкрософтовского компилятора) объектные файлы и из этих объектных файлов линкер собирает итоговый exe-шник
Все среды разработки делают сборку автоматически из твоих .cpp файлов, вызывая для каждого компилятор только когда они изменились и автоматически отслеживают взаимозависимости .h файлов (т.е. если два из 100 твоих файлов подключили xxx.h то при его измении будет пересобраны только эти два файла). Вручную эти зависимости описываются с помощью выбранной системы сборки, например make, там указываешь какой cpp файл от каких .h файлов зависит
p.s. формально ты можешь подключить напрямую .cpp файл, препроцессор вообще их не различает, но из-за взаимозависимостей тебе будет сложно это делать