@koaftder:
Regard MFC serialization, it is the *framework* (MFC framework) that helps you in serialization work, providing a pre-built infrastructure for serialization.
So you can simply add a Serialize() virtual method to your custom class (deriving it from CObject), and simply use operators << and >> for serialization.
This can be done recursively, also for classes containing structures, and for structures containing nested structures, etc.
(The important thing is that the object is "serializable", i.e. it must provide a Serialize() method, etc.)
This is not possible in C because C does not offer operator-overloading and virtual functions and polymorphism and late-binding at the level of C++ (even if these things may be done also in C, but at the expense of writing more code).
However, C++ has not built-in serialization mechanism. It is the framework you use (e.g. MFC) that can provide one (and if you follow the framework rules, you can have serialization for your own classes fairly simply).
Maybe C++ Boost libraries offer another serialization mechanism (more standard than the MFC-specific one).