Nelze říct, co je správné, to přece záleží na tom, jak tvoje třída funguje. Stejně tak je na tobě jestli chceš použít unitialized(int) nebo null pro nenastavené hodnoty.
Pokud máš proměnnou int a chceš tam dávat i null, musíš při každém použití si ověřit, co tam vlastně je, to je práce navíc a další místo častých chyb. Za mě bych se vyvaroval použití ?int, pokud to vyloženě není nutné. Pozdější inicializace proměnné je vhodné kontrolovat přes uninitialized(int) a nikoliv přes null.