> An aggregate is like a C++ non-default constructor.
> Adjust is (somewhat) like a C++ copy constructor.
> And Initialize is like a C++ default (parameterless) constructor.
> So Finalize, which is essentially a destructor "balances" any
> one of these kinds of constructors -- aggregate, Adjust, or Initialize.

This is a superb example of getting right to the point.  Just thought I'd
point that out for the benefit of any trainers or tutorial writers or FAQ
writers listening.  (How does that saying go?  Plagiarism is the sincerest
form of flattery?) But don't take offense--I'm NOT suggesting any of them
are guilty of unnecessary verbosity.  :-)