Правило на 3-те в дифолтен вариант: ако напишем едното, трябва ли да добавим и другите две, ако всички са като дифолтните?
Здравейте,
Когато не пишем нищо от 3-те: деструктор, copy-assignment oператор и copy-конструктор , те се генерират автоматично.
Тогава защо ако напишем изрично ~Person() { } трябва да добавяме и другите две от 3-те? Нали написаният тук деструктор е точно този, който би се генерирал автоматично, а другите 2 ще си се генерират?
~Person() { }
или:
~Person() { std::cout << "destroy person" << std::endl; }
т.е., ако напишем едно от 3-те по същия начин, както би било дифолтното, и искаме и другите 2 да са ни дифолтни, трябва ли изрично да ги пишем в кода, или може да оставим те да си се генерират автоматично?
Поздрави!