Иногда я не хочу предоставлять конструктор по умолчанию, и я не хочу, чтобы компилятор предоставил конструктор по умолчанию для моего класса. В C++ 11, я могу сделать вещи, как:Как удалить конструктор по умолчанию?
class MyClass
{
public:
MyClass() = delete;
};
Но в настоящее время мой преподаватель не позволяет мне сделать это в моем назначении. Возникает вопрос: до C++ 11 есть ли способ сказать компилятору, чтобы он неявно предоставлял конструктор по умолчанию?
Скотт Мейерс в своей книге «Эффективный современный C++» пишет, что вы также можете оставить свой частный конструктор без определения. Это поможет вам защитить конструктор по умолчанию от вызова из классов друзей (будет вызвана ошибка связи). – MrPisarik