C++写一个Array
写一个Array:
#include <iostream>
using namespace std;
template<class T>
class array
{
private:
int capacity;
int size = 0;
T* head;
public:
array(int);
void push(T);
int get_len();
T* get_head();
T* get_idx(int);
};
template<class T>
array<T>::array(int capacity = 100000)
{
this->capacity = capacity;
head = new T[this->capacity];
}
template<class T>
int array<T>::get_len()
{
return this->size;
}
template<class T>
T* array<T>::get_head()
{
return this->head;
}
template<class T>
T* array<T>::get_idx(int index)
{
return this->head + index;
}
template<class T>
void array<T>::push(T data)
{
*(head + size) = data;
size += 1;
}
int main()
{
array<int> x_array(100);
x_array.push(1);
x_array.push(20);
x_array.push(3);
int *temp = x_array.get_idx(1);
cout << x_array.get_len() << endl;
cout << *(temp + 1);
system("pause");
return 0;
}