template <typename T> class ArrayParam { private: int _size; T* _value; public: ArrayParam(int n = 0) { init(n);} virtual ~ArrayParam(void) {} // ディストラクタではなく,free() で解放する. void init(int n = 0); void free(void); void free_ptr(void); int get_size(void) { return _size;} T get_value(int n); bool set_value(int n, T val); void dup(ArrayParam<T> a, bool del = true); };