私はお互いにやりとりするクラスがたくさんあるプロジェクトで働いているので、.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ファイルに含まれずにコンパイルので、私は名前空間、クラスや列挙型を宣言するだろうか?
私はなぜそれをしたいのですか? –
なぜあなたは「あなたがすでに含まれているかどうか」を心配していますか?あなたが必要とするものを含めるだけです。同じヘッダーを2度入れると、ガードが含まれているものがうまくいきます。 – user463035818
代わりにすべてを宣言し、ポインタと参照のみを使用することもできます。しかし、各クラスに独自のヘッダーを持つソートされたインクルードシステムを使用すると、より明確に見え、頭痛が軽減されます。その後、使用していないインクルードがあるかどうかを確認するために、いくつかのツールを使用することもできます。 – Hayt