HEhe parksie, i fixed my spacebar now, STL smart pointer.. hmm i'll have a look at that one, might be good for my apps unless it's not too big.

The point are the plug_in(cell*), plug_out(cell*), un_plug_in(cell*) and un_plug_out(cell*) private methods, which are handled via the << and >> (public) operators, which i overloaded to connect & disconnect cells.
Sounds very interesting, i'll have a look at your project

Note, if you use virtual functions, your classes and derived classes will automatically include a v-table which makes access to them one step slower, most virtual inline functions outline and adds an overhead of 4 bytes per object. You might get concerned when you implement largescale instatiations of certain objects but most of the time virtual functions just makes your life easier Also the destructor must be virtual if you use virtual functions, otherways there will be memory leaks!