Yup, that's it. The part that lists virtual functions is generally called a 'vtable' in C++ implementations for historical reasons. The vtable only really needs to exist once per class, so the actual object instance can contain a single pointer to the global vtable for that class. Harold Hallikainen wrote: > I've done close to nothing with OOP, but find it interesting. I'm > wondering what the structure of an object is, as generated by the > compiler. I'm thinking that it starts with a structure that has public > variables and pointers to public functions. You'd call the functions by > following these pointers. When a new object is defined based on an > existing one, this structure is copied, inheriting the pointers to the > old object's functions. Then new functions can be defined in the new > object and the pointers in the new object are overwritten with pointers > to the new functions. > > So, is this ANYTHING like what really goes on? > > Thanks! > > Harold > -- Timothy J. Weber http://timothyweber.org -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist