チェストは宝物で構成されています。
私はそれを次のように実装しました:
treasure.hpp
#pragma once
class Treasure{
public:
protected:
private:
//data members
int gold;
};
Chest.hpp
#pragma once
class Chest{
private:
#include "treasure/treasure.hpp"
public:
protected:
private:
//data members
Treasure treasure;
};
**両方のヘッダーファイルが対応する「.cpp」でコンパイルされ、オブジェクトファイルが作成されると想定します。*
チェストのクラス宣言内に宝物のヘッダーファイルを含めるのは適切ですか?
私は次の動作をするので、それは私には理にかなっています:
**メインはトレジャーを作成したり直接アクセスしたりすることはできません。*
#include "chest.hpp"
int main(int argc, char** argv){
Chest chest;
}
私はそれをこのように見たことがないので、それが悪い習慣であるかどうかはわかりません。
組成に関して、どちらの方法が好ましいか:
- クラス宣言の前にヘッダーを含めます。主に間接的に宝物を含めるのですか?
上記のように、クラス宣言内にプライベートにヘッダーを含めますか?