CRect, Csize, and CPoint classes all have default constructors. It would follow that they should initialize all members to zero, but they don’t! Because of this, the following function has an undefined return value:
int MyFunction(){ CRect rect; rect.BottomRight = CPoint(5, 3); return rect.Width();}
Be sure to always have all members of objects of these classes initialized.