* Declare CObjectClassFactory before CObjectClass since it is used there
* sizeof expresion ~ sizeof(type)