Files
VisualSapfor/Planner/Array.h

44 lines
692 B
C
Raw Normal View History

#pragma once
2023-09-17 22:13:42 +03:00
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
2023-09-17 22:13:42 +03:00
template <class T>
class Array {
protected:
long length;
2023-09-17 22:13:42 +03:00
T** elements;
public:
Array() {
length = 0;
elements = NULL;
2023-09-17 22:13:42 +03:00
}
virtual ~Array() {
if (elements != NULL) {
for (long i = 0; i < length; ++i)
delete elements[i];
delete[] elements;
2023-09-17 22:13:42 +03:00
}
}
void add(T* new_line) {
T** buf = new T * [length + 1];
for (long i = 0; i < length; ++i) {
buf[i] = elements[i];
}
buf[length] = new_line;
length++;
delete[] elements;
elements = buf;
buf = NULL;
2023-09-17 22:13:42 +03:00
}
long getLength() {
2023-09-17 22:13:42 +03:00
return length;
}
T* get(long i) {
return elements[i];
2023-09-17 22:13:42 +03:00
}
T** getElements() {
2023-09-17 22:13:42 +03:00
return elements;
}
};