> (snip a lot of pointer copying) > > So, is this ANYTHING like what really goes on? In some loosely typed interpreted OO language this is exactly what happens, because the meaning of object attributes can be changed at run time on a per-object base. In a strictly typed compiled language like C++ you can do without all this for static functions, because the code of each function is known at compile time. With dynamic functions you need a list of function pointers, but only one for each type (class), so each variable (instance) has just a single pointer to that list. Things get a little bit more complex when multiple inheritance is combined with dynamic functions. To sum it up: yes, that (a lot of pointer copying) can be what is going on, but only if you want - in the sense that you use constructs that would not be possible in a statically typed non-OO language. Wouter van Ooijen -- ------------------------------------------- Van Ooijen Technische Informatica: www.voti.nl consultancy, development, PICmicro products docent Hogeschool van Utrecht: www.voti.nl/hvu -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist