Что будет с объектом если вызвать несколько раз его конструкторы?
Вторая запись это не вызов конструктора, а оператор присваивания.
Сначала создавасться новый временный объект через второй конструктор (т.к. конструктор является implicit, то допустимо неявное преобразование из int в CClass). Затем у первого объекта вызовется оператор присваивания с временным объектом в качестве параметра.
В C++ без сложных манипуляций невозможно второй раз вызвать конструктор.
Фактически ваш код эквивалентен этому:CClass obj(); // на самом деле так писать нельзя, это не вызов конструктора а объявление функции

obj = CClass(1);
Кто сказал что второй раз вызывается конструктор?
Второй раз вы вызываете оператор =, если он у вас переопределён. А иначе вам конпелятор намекнёт на вашу профнепригодность