Я знаю эмпирическое правило C ++, когда вы добавляете cctor, dtor или op = в ваш класс, вам нужно добавить и два других, чтобы заставить ваш класс работать должным образом при любых обстоятельствах.
Есть ли случаи, когда вам не нужно предоставлять все три, только один или два из них?
Почему в C ++ не требуется добавлять их все, если вы добавляете один из них в свой класс?
EDIT1:
Вы упомянули примеры, когда вам не только не нужны некоторые из них, но вы не хотите иметь их, поэтому хотите сделать их частными или защищенными. Но вам все равно нужно писать их в своем коде даже с пустыми телами.
Единственная причина, по которой я не имею их всех, когда вы создаете полиморфный класс, добавляя виртуальный деструктор с пустым телом. Но как только вы напишите что-нибудь в теле деструктора, вам следует подумать о том, чтобы написать что-то в теле cctor, и op = тоже.
Я ищу примеры, когда вам не нужно писать все 3 метода, и вы можете опустить некоторые из них, не вызывая ошибок в вашем классе, даже если новичок использует ваш класс. :)