Czasami nie chcę dostarczać domyślnego konstruktora, ani też nie chcę, aby kompilator dostarczał domyślny konstruktor systemu dla mojej klasy. W C++ 11 mogę zrobić coś takiego:Jak usunąć domyślny konstruktor?
class MyClass
{
public:
MyClass() = delete;
};
Ale obecnie mój wykładowca nie pozwala mi tego zrobić w moim zadaniu. Pytanie brzmi: przed C++ 11, czy istnieje sposób, aby powiedzieć kompilator, aby zatrzymać domyślnie dostarczyć domyślny konstruktor?
Scott Meyers w swojej książce Effective Modern C++ pisze, że można również pozostawić swój prywatny konstruktor bez definicji. Pomoże to chronić domyślny konstruktor przed wywołaniem z klas znajomych (zostanie zgłoszony błąd łącza). – MrPisarik