在 C++ 中重载数组索引运算符 []
操作符重载在面向对象编程语言特性中扮演着重要角色。操作符重载是一种编译时或静态多态性。
算法
Begin Create a class Arr and declare size of array. Inside the class, initialize all the elements by using for loop. Print the all elements. End.
示例代码
#include <iostream> #include <stdlib.h> using namespace std; const int M = 7; class Arr { private: int A[M]; int size; public: Arr(int s, int v) { if(s>M) { cout<<endl<<"This is beyond maximum size"; exit(1); } size = s; for(int i=0;i<size;i++) A[i] = v; } int& operator[](int i) { if( (i<0) || (i>=size) ) { cout<<endl<<"Error: Array out of bound"; exit(1); } return A[i]; } }; int main() { int i=0; Arr a(7,0); for(i=0;i<7;i++) a[i] = i*10; cout<<"Array elements are:"<<endl; for(i=0;i<7;i++) { int val = a[i]; cout<<val<<endl; } return 0; }
输出
Array elements are: 0 10 20 30 40 50 60
广告