> 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. :-)