This is a base class for many of the classes in the library. It is a base class for any class that can be serialized. It is also a base class for classes that may be give serialization abilities in the future, such as CK_Screen or CK_Component. The reason for deriving from CK_Object (which is a marker class), is to allow for future functionality with respect to object serialization. If several objects of different types were serialized to a single file, one after the other, then a library function could be provided that would deserialize each object in the file and return an array of pointers to CK_Objects.
At the moment however, CK_Object is not used by the library.
A marker class is a base class that contains no member functions or data members. A marker class allows any class that inherits it to be treated as an object of that type.