Do I have to derive new classes from CObject?

OverviewHow Do IFAQ

No, you don't.

Derive a class from when you need the facilities it provides, such as serialization or dynamic creatability. Many data classes need to be serialized to files, so it's often a good idea to derive them from CObject. For an example of a class derived from CObject, see in the Scribble tutorial.