Adding check to verify that a default is used

Without the second constructor call and assertion, it's possible for someone trying to learn defaults to simply assign a value to name without creating a constructor using defaults. That's what I did, and then added the additional check because I wasn't sure I'd done it properly.