ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

STL vector その3

vectorには自分で作成したクラスのオブジェクトも要素として格納できる。使い方はint型といった組み込み型と変わらない。

#include <iostream>
#include <vector>
using namespace std;

class Test
{
    int num;
public:
    Test(int i) { num = i; }
    int get() { return num; }
};

int main()
{
    vector<Test> v;

    for(int i=0; i<20; i++)
    {
        v.push_back(Test(i));
    }

    vector<Test>::iterator p;
    p = v.begin();
    while( p != v.end() )
    {
        cout << p->get() << endl;
        p++;
    }
}

このコードでは問題にならなかったが、使用するメンバ関数STLアルゴリズムによってはクラスにデフォルトコンストラクタや比較演算子や==演算子などを実装する必要がある。