Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

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