スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【コード】リストの要素クラス


// リストの要素クラス
template<class T> class CLIST_NODE
{
protected:
typedef T Node;
Node *m_pNext, *m_pPrev; // 次のポインタ, 前のポインタ

public:
CLIST_NODE():m_pNext(NULL), m_pPrev(NULL){}

Node* GetPrev()const { return m_pPrev; } // 一つ前の要素を返す
Node* GetNext()const { return m_pNext; } // 次の要素を返す

void SetPrev(Node *Prev){ m_pPrev = Prev; } // 一つ前の要素にセット
void SetNext(Node *Next){ m_pNext = Next; } // 次の要素にセット
};


前後のポインタ情報を持たせるようなクラスを作ってみたらこんな感じになりました…。
変なのかな…と思いつつも、とりあえず作ってみた感じではあります。
試しに10個の要素を手入力で連結してみたらうまいこと前後繋がってました。

で、こいつを
class 弾1{ CLIST_NODE<弾1> ListA; }
class 弾2{ CLIST_NODE<弾2> ListB; }
class 弾3{ CLIST_NODE<弾3> ListC; }
こういう感じで使用する予定です(あくまで予定)

弾1のリスト、弾2のリスト、弾3のリスト…と
分けて管理する場合どのように管理したらいいのか…

例えば、CLIST_MANAGER なるものを作成して弾クラス毎に管理するとかを考えました。
では、弾1~弾3クラスで、それぞれのリスト先頭要素、末尾要素はどこで持たせる方がいいのか?
描画とかする時にリストの先頭要素が欲しいなぁ~と思うのですが
どのように持たせるのがいいかこれで悩んでます;

弾クラス自体に持たせるのか、要素同士を連結したりするリストクラスに持たせるのか。

std::list にはbegin(), end()で先頭・末尾のイテレータを返してくれるそうで
ポインタを返すくらいのものは作ろうと思ってます。

リストに繋いだりするクラスも作成しないといけないので
まずはその辺をやっていきましょうかね…。
とりあえず、作成して行きますか~


プログラム関係ないけど、この暑さが妙に精神力を削っていくw

この記事へのコメント

トラックバック

URL :

検索フォーム
プロフィール

DVDM

Author:DVDM
自作ゲームの開発過程ブログ。
赤髪愛なら誰にも負けない。

 
Pixiv バナー


ブロとも申請フォーム
最新記事
カテゴリ
最新コメント
最新トラックバック
RSSリンクの表示
リンク
ブロとも一覧
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。