Operator + works, but why is it allowing access to private data members?