C++ 添字演算子 [] オーバーロード

C++ 重载运算符和重载函数C++ オーバーロード演算子とオーバーロード関数

添字演算子 [] は通常、配列要素にアクセスするために使用されます。この演算子をオーバーロードすることで、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" << A[2] <<endl; cout << "A" << A[5]<<endl; cout << "A" << A[12]<<endl; return 0; }

上記のコードをコンパイルして実行すると、次の結果が生成されます。

$ g++ -o test test.cpp
$ ./test 
A[2] 的值为 : 2
A[5] 的值为 : 5
A[12] 的值为 : 索引超过最大值
0

C++ 重载运算符和重载函数C++ オーバーロード演算子とオーバーロード関数

その他の拡張