A
a
I'm having problem compiling this simple template program, my g++
complains it doesn't know what size and ia are on ArrayRC.
TIA,
John
#include <iostream.h>
#include <assert.h>
const int ARRAY_SIZE = 12;
template <class T>
class Array
{
protected:
int size;
T *ia;
public:
Array(int sz = ARRAY_SIZE)
{
size = sz;
ia = new T[size];
}
virtual ~Array()
{
delete [] ia;
}
int getSize()
{
return size;
}
virtual T& operator[] (int index)
{
return ia[index];
}
};
template <class T>
class ArrayRC : public Array<T>
{
public:
ArrayRC(int sz = ARRAY_SIZE) : Array<T>(sz)
{
}
T& operator[] (int index)
{
assert(index >= 0 && index < size);
return ia[index];
}
};
main()
{
Array<int> stuff;
Array<double> stuff2;
}
complains it doesn't know what size and ia are on ArrayRC.
TIA,
John
#include <iostream.h>
#include <assert.h>
const int ARRAY_SIZE = 12;
template <class T>
class Array
{
protected:
int size;
T *ia;
public:
Array(int sz = ARRAY_SIZE)
{
size = sz;
ia = new T[size];
}
virtual ~Array()
{
delete [] ia;
}
int getSize()
{
return size;
}
virtual T& operator[] (int index)
{
return ia[index];
}
};
template <class T>
class ArrayRC : public Array<T>
{
public:
ArrayRC(int sz = ARRAY_SIZE) : Array<T>(sz)
{
}
T& operator[] (int index)
{
assert(index >= 0 && index < size);
return ia[index];
}
};
main()
{
Array<int> stuff;
Array<double> stuff2;
}