13.1.5. Использование спецификатора = default
class Sales_data {
public:
// управление копированием; версии по умолчанию
Sales_data() = default;
Sales_data(const Sales_data&) = default;
Sales_data& operator=(const Sales_data &);
~Sales_data() = default;
// другие члены как прежде
};
Sales_data& Sales_data::operator=(const Sales_data&) = default;
Когда в объявлении функции-члена в теле класса использован спецификатор = default, синтезируемая функция неявно становится встраиваемой (как и любая другая функция-член, определенная в теле класса). Если синтезируемая функция-член класса не должна быть встраиваемой функцией, можно добавить часть = default в ее определение, как это было сделано в определении оператора присвоения копии.