English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial di base di C++

Controllo di Flusso in C++

Funzione di C++

Array & Stringhe in C++

Strutture dati in C++

Classi & Oggetti in C++

Puntatore di C++

Ereditarietà di C++

Tutorial di STL di C++

Manuale di riferimento di C++

Sovraccarica dell'operatore di sottindicizzazione [] in C++

Overloading di operatore e funzione di C++

L'operatore di sottindicizzazione [] è generalmente utilizzato per accedere agli elementi dell'array. La sovraccarica di questo operatore migliora le funzionalità di operazione degli array in C++.

Il seguente esempio dimostra come sovraccaricare l'operatore di sottindicizzazione [].

#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 << "Indice supera il valore massimo" << endl; 
              // restituisce l'elemento primo
              return arr[0];
          }
          return arr[i];
      }
};
int main()
{
   safearay A;
 
   cout << "Il valore di A[2] è: " << A[2] << endl;
   cout << "Il valore di A[5] è: " << A[5] << endl;
   cout << "Il valore di A[12] è: " << A[12] << endl;
 
   return 0;
}

Quando il codice sopra viene compilato ed eseguito, produrrà il seguente risultato:

Il valore di A[2] è: 2
Il valore di A[5] è: 5
Il valore di A[12] è: l'indice supera il valore massimo
0

Overloading di operatore e funzione di C++