提示コードですが.cpp部で上部のコメント部///のようにインクルードしているのですがソース部でインクルードするという行為は正しいのでしょうか?ソースはヘッダーどっちかにまとめるべきなのでしょうか?
hpp
1#ifndef ___GAME_SCENE_HPP_ 2#define ___GAME_SCENE_HPP_ 3 4#include "Scene_base.hpp" 5 6#include "Entry.hpp" 7 8class Stage; 9enum class Scene_Type; 10/*#################################################### 11* メインゲーム シーン 12* 13* 説明 14* メインのゲーム画面 15######################################################*/ 16class Game_Scene : public Scene_base 17{ 18public: 19 Game_Scene(Scene_Type t,Entry* e); //コンストラクタ 20 ~Game_Scene(); //デストラクタ 21 22 void Update(); //更新 23 void Draw(); //描画 24 25private: 26 27 28 29 std::shared_ptr<Stage> stage; 30 31 Entry* Owner; //Entry クラス 32 33}; 34 35#endif 36
cpp
1#include "Game_Scene.hpp" 2#include "Stage.hpp"///////////////////////////////////////////////////// 3 4 5//コンストラクタ 6Game_Scene::Game_Scene(Scene_Type t,Entry *e) : Scene_base(t,e) 7{ 8 Owner = e; //Entry クラス 9 10 11 // ##### スプライトをロード ##### 12 13 int Player_Handle = Owner->LoadSprite("Assets/Player/Player_0.png"); //プレイヤー 14 int Enemy_Handle = Owner->LoadSprite("Assets/Enemy.png"); //エネミー 15 16 int Block_Handle = Owner->LoadSprite("Assets/Block.png"); //ブロック 17 int Brick_Handle = Owner->LoadSprite("Assets/Brick.png"); //レンガ 18 int Shop_Handle = Owner->LoadSprite("Assets/Shop.png"); //ショップ 19 20 // ##### コンポーネント ##### 21 stage = std::make_shared<Stage>(); 22 23 24 25} 26 27//更新 28void Game_Scene::Update() 29{ 30 stage->Update(); 31 32 33} 34 35//描画 36void Game_Scene::Draw() 37{ 38 stage->Draw(); 39 40 41} 42 43//デストラクタ 44Game_Scene::~Game_Scene() 45{ 46 47} 48
> ソース部でインクルードするという行為は正しいのでしょうか?
「単なるヘッダのインクルード」に関する疑問なのですか?それとも、違った背景があるのですか?
単なるヘッダーのインクルードです。循環インクルードや ヘッダーの衝突などの関係で仕方がなくソース部にインクルードをしないとけいなくなってしまいまいました。
回答3件
あなたの回答
tips
プレビュー