sorensen@athena.mit.edu (Alma G. Sorensen) (07/23/89)
I have a base class for containing arrays, like: class base { private: int length; void * base; public base(void * start,int size){ base = start; length = size;} }; and a derived classes for either, say, integers or floats: class ints : public base { ints(int * start, int size):(start,size){;} } class floats : public base { floats(float * start, int size) : (start, size) {;} } and I'd like to add the operator [] to my base class, so that I can access a base using [] without having to worry too much about the fundamental type, e.g.: virtual void& operator[](int index) = 0; in the base class, and something like int& operator[](int index) { return (base + length); } in the ints class, and a similar construct for the floats class. But, of course, there is no such legal type as void&, and I can't figure out what the reference equivalent of void* is...What can I do? Must I have some class which is either an int or a float and return a reference to that? Thanks, Greg Sorensen sorensen@imager.mit.edu or sorensen@athena.mit.edu