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