Это завершено. Но есть два момента, на которые стоит обратить внимание:
- Это оператор copy =. Также как существует конструктор copy , есть оператор присваивания copy .
- Они предоставляются только при фактическом использовании.
Некоторое объяснение 2:
struct A { private: A(); };
struct B : A { };
Отлично! Предоставление конструктора по умолчанию было бы некорректно для "B", потому что он не смог бы вызвать конструктор базового класса. Но конструктор по умолчанию (и другие специальные функции) предоставляется только (мы говорим, что неявно определен ), если он действительно необходим.