Uhm... I think the original poster was looking for information on how to write the new and delete functions, as well as how to handle virtual functions and other C++ things (ie, the actual difficult part of writing kernels in C++).
I have no knowledge on this, so perhaps you can confirm an educated guess... I'm assuming new and delete are defined as actual "extern C" fuctions as follows:
void *new(long size);
void delete(void *addr);
Just like malloc and free... ?
And what of virtual functions? Will the compiler handle that itself, or is there another compiler dependant process involved (such as look-up tables/functions which must be defined)?
These, I think, are the questions the original poster was inquiring about (and I'm kinda curious myself (although I'm writing my kernel in C)).
Oh, and just one little point:
When you define a class as global, there is no extra code added to the binary to initialize and locate static memory, as you say in your tutorial!
The class simply "exists" withen the binary, whereas if it were local, the class specific data would be stored on the stack, therefore not taking up space in the binary.
Just a little thing... I know... but...
Cheers,
Jeff