Поскольку вы сказали, что массив - это ваш собственный класс с перегруженным оператором присваивания, вы уже ответили на свой вопрос.
Конструктор копирования вызывается буквально только тогда, когда вы создаете объект из другого:
Obj a;Obj b (a);
Может случиться так, что вас вызовет какая-то магия компилятора, если вы сделаете:
Obj a;Obj b = a;
Но я никогда не удосужился посмотреть на это.
Если вы просто делаете a = b, вы не создаете a, поэтому вы не будете вызывать конструктор копирования.
Имеет смысл?