前田稔(Maeda Minoru)の超初心者のプログラム入門
/*★ Main Program Step5 前田 稔 ★*/ #include <iostream> #include "Vector.h" using namespace std; void disp( Vector<int>& v ) { //※この関数は iterator の説明 を参照して下さい。 } void main() { int a[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; Vector<int> v(a+2, a+8); cout << "v "; disp(v); } |
class Vector { public: typedef T* iterator; typedef T& reference; // コンストラクタ Vector( int vsize=0, const T& v=T() ) { array_size = vsize; current_size = vsize; array = new T[array_size+1]; for(int i= 0; i<vsize; i++) array[i] = v; } // 追加するコンストラクタ Vector( iterator itr_first, iterator itr_last ) { //※コンストラクタをコーディングして下さい。 } |
int a[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; Vector<int> v(a+2, a+8); |
int a[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; Vector<int> v(a+2, a+8); cout << "v "; disp(v); if (!v.empty()) v.pop_back(); if (!v.empty()) v.pop_back(); cout << "pop_back "; disp(v); cout << "vのキャパシティー=" << v.capacity() << " vのサイズ=" << v.size() << endl; |
void pop_back(); |
bool empty() const { //※関数をコーディングして下さい。 } |
template<class T> void Vector<T>::pop_back() { //※関数をコーディングして下さい。 } |