В чем разница между оператором перегрузки = и перегрузкой конструктора копирования?

В чем разница между перегрузкой оператора = в классе и копии constructor ?

В каком контексте вызывается каждый из них?

Я имею в виду, если у меня есть следующее:

Person *p1 = new Person("Oscar", "Mederos");
Person *p2 = p1;

Какой из них используется? А затем, когда используется другой?

Изменить:
Просто чтобы уточнить:

Я уже знаю, что если мы явно вызовем конструктор копирования Person p1 (p2) , то конструктор копирования будет использоваться. Я хотел знать, когда каждый из них используется, но вместо этого используется оператор = , как указал @Martin.

9
задан kiamlaluno 27 October 2012 в 18:59
поделиться