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のアルゴリズムによってはクラスにデフォルトコンストラクタや比較演算子や==演算子などを実装する必要がある。