Я хотел бы иметь только файлы в формате .cpp, так как я работаю над проектом с большим количеством классов, которые должны будут взаимодействовать друг с другом, и я чувствую, что это немного лучше так как вам не нужно беспокоиться о том, что вы уже включили или нет, я просто не знаю, как это сделать; вот пример:Имея только файл cpp
#include "UnitConverter.hpp"
#include <string>
//extern namespace std;
//extern class std::string;
//extern class UnitConverter;
//extern enum UnitConverter::UnitTypes;
//extern enum UnitConverter::UnitSystem;
//extern enum UnitConverter::ScalingType;
class AnalogOutput{
public:
std::string name;
UnitConverter::UnitTypes unit_type;
UnitConverter::UnitSystem unit_system;
UnitConverter::ScalingType scaling_type;
}
как бы я объявить пространство имен, классы и типы перечислений, так что компилирует без включает в файле HPP, но в файле CPP?
Мне непонятно, почему вы хотите это сделать. –
Почему вы беспокоитесь о том, «что вы уже включили или нет»? Просто включите то, что вам нужно, если вы включите один и тот же заголовок дважды, вот что включает в себя защитники. – user463035818
вы можете в качестве альтернативы форварда объявить все и использовать указатели и ссылки. Но наличие сортированной системы включения с каждым классом, имеющим свой собственный заголовок, кажется более ясным и делает меньше головных болей. После этого вы также можете использовать некоторые инструменты для проверки неиспользуемых включений в случае, если у вас слишком много. – Hayt