blob: a3e3effdf960d4f9e7519772a4571e82b5ae5475 [file] [log] [blame]
// { dg-do assemble }
// Origin: Loring Holden <lsh@cs.brown.edu>
template <class T>
class REFptr {
public:
virtual ~REFptr();
REFptr<T> &operator = (const REFptr<T>& p);
};
class STR { };
class str_ptr : public REFptr<STR> { };
template <class T>
class ARRAY {
protected:
T *_array;
int _num;
int _max;
public:
virtual void realloc(int new_max) {
_max = new_max;
T *tmp = new T [_max];
if (tmp == 0) return;
for (int i=0; i<_num; i++) {
tmp[i] = _array[i];
}
delete [] _array;
_array = tmp;
}
};
int
main()
{
ARRAY<str_ptr> tags;
}