I was asking myself something this morning, and I can\'t find the words to properly \"google\" for it:
Lets say I have:
struct Foo { int bar; }; s
Case 3 is the proper way, with a member initialization list.
None of the first two will be properly initialized, since you don't give them an initial value (exactly like a variable only defined is not initialized).