8324155@max.u.washington.edu (09/20/90)
I have recently begun working on my first project in C++ and I have come accross a couple of problems that I'm hoping someone can help me with. 1. I am working with an array of pointers to a generic "field" class which contains position and size information. This class contains virtual functions such as draw, enter, etc. which allow you to position and edit fields. Derived from field are several specific types of fields such as address and phonenumber. My problem is that my program works with pointers to field, this is fine for editing and such because all the functions are virtual. However I also want to compare fields, so I overload the "<, >, ==, <=, etc." operators, but my question is this: how do you overload these? The parameter list for virtual functions has to be identical, but if I have the parameter for all the functions "const field & fld" it doesn't work. 2. Similarly my second problem is that I want to reproduce a certain arbitrary combination of fields, and dynamically allocate memory for it. The way I do it now is to include a virtual alloc function for each of the specific types of fields, and then when I want to replicate a certain combination of fields I just go through the list of pointers to the fields and call the alloc function (which just contains something like : (for a PhoneNumber) return((field*)(new PhoneNumber)); Is there an easier way to do this? Please e-mail me with replies, and thanks ahead of time for any help you can give Mark Frey