#include <iostream>
using namespace std;
class aim
{
public:
aim(int n)
{
num=new int[n];
len=n;
int i;
int *num1=num;
for(i=0;i<n;i++)
{
*num1=0;
num1++;
}
}
aim (const aim &another)
{
this->num=another.num;
this->len=another.len;
}
int at(int n)
{
int i;
int *num1=num;
for(i=0;i<n-1;i++)
{
num1++;
}
return *num1;
}
int pop_back()
{
int *num1=new int[--len],*num2=num;
int i;
num=num1;
for(i=0;i<len-1;i++)
{
*num1=*num2;
num1++;
num2++;
}
}
int push_back(int n)
{
int *num1=new int[len+1];
int *num2=num;
int i;
num=num1;
for(i=0;i<len;i++)
{
*num1=*num2;
num1++;
num2++;
}
*num1=n;
len++;
}
int printlist()
{
int i;
int *num1=num;
for(i=0;i<len;i++)
{
cout<<*num1<<endl;
num1++;
}
}
int operator[] (int n)
{
int i;
int *num1=num;
for(i=0;i<n-1;i++)
{
num1++;
}
return *num1;
}
int clear()
{
delete [] num;
}
~aim()
{
}
private:
int *num;
int len;
};
int main()
{
aim a(5);
a.printlist();
a.push_back(1);
a.printlist();
cout<<"number six in:"<<endl;
cout<<a.at(6)<<endl;
cout<<"操作符重载:"<<endl;
cout<<a[6]<<endl;
a.pop_back();
a.printlist();
}