3-3-8. 添字演算子のオーバーロード

公開日: 17:03 3. オブジェクト指向編/3-3. オーバーロード/3-3-8. 添字演算子のオーバーロード


添字演算子([])は一般的に配列の要素へのアクセスに使われます。この演算子はC++配列の既存の機能を強化するのにオーバーロードすることが可能です。

次の例はどのようにして添字演算子をオーバーロードするかを示しています。
#include <iostream>
using namespace std;
const int SIZE = 10;

class safearay
{
   private:
      int arr[SIZE];
   public:
      safearay() 
      {
         register int i;
         for(i = 0; i < SIZE; i++)
         {
           arr[i] = i;
         }
      }
      int &operator[](int i)
      {
          if( i > SIZE )
          {
              cout << "範囲外です" <<endl; 
              // 先頭の要素を返す
              return arr[0];
          }
          return arr[i];
      }
};
int main()
{
   safearay A;

   cout << "A[2]の値: " << A[2] <<endl;
   cout << "A[5]の値: " << A[5]<<endl;
   cout << "A[12]の値: " << A[12]<<endl;

   return 0;
}
上のコードをコンパイルし実行すると、次の結果が得られます。
A[2]の値: 2
A[5]の値: 5
範囲外です
A[12]の値: 0
  • ?±??G???g???[?d????u?b?N?}?[?N???A

0 件のコメント :

コメントを投稿