#include<iostream>
class IntArray
{
private:
int *p;
int n;
public:
IntArray()
{
p = NULL;
n = 0;
}
IntArray(int* ip, const int& in)
{
p = ip;
n = in;
}
int& operator[] (const int& i)
{
if(i > n || i < 1)
{
std::cerr << "错误,下标越界!" << std::endl;
exit (1);
}
else
{
return *(p+i-1);
}
}
int operator() (const int& i)
{
if(i > n || i < 1)
{
std::cerr << "错误,下标越界!" << std::endl;
exit (1);
}
else
{
int j = 0, sum = 0;
while(j < i)
{
sum += *(p+j); j++;
}
return sum;
}
}
};
int main()
{
int a[10] = {1, 2, 56, 85};
int b[3] = {2, 5, 35};
IntArray A(a, 10), B(b, 2);
std::cout << B(2) << std::endl;
return 0;
}
复现IntArray类
最新推荐文章于 2022-05-18 21:19:23 发布