C++ Training > 課題04

Int型の1次元配列と同じ振る舞いをするクラスを作成しなさい。但し、以下の条件を満たすこと。

  1. コンストラクタで、要素数を指定し、newでメモリを確保する。
  2. デストラクタで、deleteを使い、メモリを開放する。
    delete [] pData; ← 必ず、このようにする。
    if(pData) delete pData; ← 今回は、このように書くことを禁止する。
    
  3. 演算子"="は、全てのデータを代入先にコピーする。
  4. 添え字演算子"[]"は、指定した要素番号の参照を返す。
    array[10] = 10;
    
  5. データ代入時には、要素番号の妥当性をチェックする。(範囲外の場所にアクセスしないようにする。)
  6. 演算子"/"は、全てのデータを指定した数で割る。
    array[0] = 100;
    array[1] = 200;
    array = array / 10;
    // array[0] == 10, array[1] == 20
    
  7. 演算子"+"は、全てのデータに指定した数を足す。
    array[0] = 100;
    array[1] = 200;
    array = array + 10;
    // array[0] == 110, array[1] == 210
    
  8. 演算子"-"は、全てのデータから指定した数を引く。
    array[0] = 100;
    array[1] = 200;
    array = array - 10;
    // array[0] == 90, array[1] == 190
    
  9. メモリの開放し忘れは、禁止。
Hiroki Wakabayashi, Computer Vision Laboratory.