English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C++ Surcharge d'opérateurs et surcharge de fonctions
下标操作符 [] 通常用于访问数组元素。重载该运算符用于增强操作 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 << "Index dépasse la valeur maximale" << endl; // Retourner le premier élément return arr[0]; } return arr[i]; } }; int main() { safearay A; cout << "A[2] est : " << A[2] << endl; cout << "A[5] est : " << A[5] << endl; cout << "A[12] est : " << A[12] << endl; return 0; }
Lorsque le code suivant est compilé et exécuté, il produit les résultats suivants :
A[2] est : 2 A[5] est : 5 A[12La valeur de ] est : Index dépasse la valeur maximale 0