下面这个程序 我编译能成功 但运行时有错误 debug 发现在 virtual ~Array() 请告诉为什么
#include <iostream>
template <class elemType>
class Array {
public:
explicit Array( int size = DefaultArraySize );
Array( elemType *array, int array_size);
Array( const Array &rhs );
virtual ~Array() { delete [] ia; }
bool operator == ( const Array& ) const;
bool operator != ( const Array& ) const;
Array& operator = (const Array& );
int size() const { return _size; }
virtual elemType& operator[] (int index) { return ia[index]; }
virtual void sort();
virtual elemType min() const;
virtual elemType max() const;
virtual int find( const elemType& value ) const;
protected:
static const int DefaultArraySize = 12;
int _size;
elemType *ia;
};
using namespace std;
int main()
{
const int array_size = 4;
Array<int> ia(array_size);
Array<char> ca(array_size);
Array<double> da(array_size);
}