Нет. Вы вообще не используете оператор =
; даже если присутствует символ =
, инициализация выполняется только с помощью конструкторов. Некоторые люди предпочитают инициализацию типа конструкции для ясности по этой причине:
T a = 1; // ctor
T b(2); // ctor
T c; c = 3; // ctor then op=
Итак, вам нужен конструктор, который может принимать int
. Не забудьте отметить это explicit
.
Кроме того, кстати, оператор присваивания должен возвращать ссылку.