#include #include #include class poo { public: poo(int _a, int _b):a(_a),b(_b){} int a; int b; //<<演算子をオーバーロードしてフレンド登録(習ってないから気にするな!) //これをやるとcoutに自分のクラスを渡したときの挙動を書ける(かっこいい) friend std::ostream& operator<<(std::ostream& os, const poo& _dat); friend std::ostream& operator<<(std::ostream& os, const poo* _dat); }; //coutにpooの参照を渡したときの挙動を書く std::ostream& operator<<(std::ostream& os, const poo& _dat) { os << _dat.a << ", " << _dat.b; return os; } //coutにpooのポインタを渡したときの挙動を書く std::ostream& operator<<(std::ostream& os, const poo* _dat) { os << _dat->a << ", " << _dat->b; return os; } const int arrNum = 5; int main() { std::array arr = { {{1,1}, {2,2}, {3,3}, {4,4}, {5,5}} }; for(auto itr=arr.begin(); itr != arr.end(); itr++){ std::cout << itr << std::endl; } }