参考
#include <iostream>
using namespace std;
#define M 1000
class FVector
{
public:
FVector()
{
size = 0;
maxsize = M;
v = new int[maxsize];
}
int & operator[](int i)
{
if (i<0 || i >= maxsize)
throw "传入的下标值非法"; // 抛出一个异常,传入的下标值非法了。
if (i >= size)
size=i+1;
return v[i];
}
int push(int x)
{
if (size >= maxsize)
return -1;
v[size++] = x;
return size;
}
int search(int x)
{
for (int i = 0; i < size; i++)
{
if (v[i]==x)
{
return i;
}
}
return -1;
}
int del(int i)
{
if (i<0 || i>=size)
return -1;
for (int j = i; j < size-1; j++)
{
v[j] = v[j+1];
}
size--;
return size;
}
int getsize()
{
return size;
}
~FVector()
{
delete[] v;
size = 0;
}
private:
int *v;
int size;
int maxsize;
};
int main()
{
FVector a;
for (int i = 0; i <=4; i++)
{
a[i] = i * 2;
}
a.push(55);
for (int i = 0; i < a.getsize(); i++)
cout << "a["<<i<<"] = " << a[i] << endl;
cout << "查找6的下标为" << a.search(6) << endl;
a.del(2);
for (int i = 0; i < a.getsize(); i++)
cout << "a["<<i<<"] = " << a[i] << endl;
return 0;
}