Ответ: FAQ
Давай читать код вместе,
"глобальная переменная obj1 типа TType равна новому экземпляру класса TType
глобальная переменная obj2 типа TType равна переменной obj1"
что из этого следует? Что мы создали две глобальных переменных, в одну поместили объект, вторую сделали псевдонимом первой. Т.е. в сухом остатке у нас 1 объект и две переменных по которым его можно получить.
Второй код:
"глобальная переменная obj1 типа TType равна новому экземпляру класса TType
глобальная переменная obj2 типа TType равна новому экземпляру класса TType
переприсвоить значение переменной obj2 на значение переменной obj1"
Как результат создано два разных объекта и сохранены в разных переменных. Потом одна из переменных переприсвоена на первый объект.
Т.е. тот объект что был в ней теперь недоступен, и скорее всего будет уничтожен (сборщик мусора вроде бы умеет их находить).
__________________
|