Изменения
→конструкторы
Array d=a; // вызывается Array::Array(const Array&)
b=c; // происходит вызов оператора =
Если в классе нет явно объявленных конструкторов, то он имеет неявно объявленный конструктор без параметров, который конструирует подобъекты классов-родителей и инициализирует поля класса с помощью конструкторов по умолчанию.