В чем разница между перегрузкой оператора =
в классе и копии constructor ?
В каком контексте вызывается каждый из них?
Я имею в виду, если у меня есть следующее:
Person *p1 = new Person("Oscar", "Mederos");
Person *p2 = p1;
Какой из них используется? А затем, когда используется другой?
Изменить:
Просто чтобы уточнить:
Я уже знаю, что если мы явно вызовем конструктор копирования Person p1 (p2)
, то конструктор копирования будет использоваться. Я хотел знать, когда каждый из них используется, но вместо этого используется оператор =
, как указал @Martin.