重载数组下标运算符

重载数组下标运算符

1620743863066

1620743873291

1620743882104

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>


using namespace std;
class ArrayInt
{
public:
ArrayInt();
ArrayInt(int x);
//重载数组下标操作符
int & operator[](int x);
int getSize() { return size; }
~ArrayInt();

private:
int * array;
int size;
};

//重载数组下标操作符
int & ArrayInt::operator[](int x)
{
return array[x];
}

ArrayInt::ArrayInt(int x)
{
size = x;
array = new int[size];

}

ArrayInt::ArrayInt()
{
if (array != NULL)
{
delete[] array;
size = 0;
}
}

ArrayInt::~ArrayInt()
{
}
int main(char *argv[], int argc)
{
ArrayInt num(300);
for (int i = 0; i < num.getSize(); i++)
{
num[i] = i;
}

for (int i = 0; i < num.getSize(); i++)
{
cout << num[i] << " ";
if (i % 10 == 0 && i != 0)
cout << endl;
}
return 0;
}