Любой класс (структура) по умолчанию имеет два конструктора (без параметров и копирования) и деструктор. Если прототипы конструкторов объявить приватными, то станет невозможным создавать объекты такого класса.
Начнёте изучать полиморфизм, абстрактные классы, чистые виртуальные функции, виртуальные базовые классы, виртуальные деструкторы, разберётесь что и к чему.
>Не может. Без конструктора ты не создашь объект. Конструктор по умолчанию всегда есть.
А не всегда нужно создавать объект. Например, у класса могут быть статические функции.
Либо какой-нибудь Singlethon с приватным конструктор, формально он там как бы есть, но можно сказать что и нет.
Третий вариант, класс, в котором не нужно вообще ничего инициализировать, либо абстрактный, там даже на низком уровне компилятору нечего создавать, т. к. смысла нет.
можно пустышку переопределить - ничего делать не будет
Не может. Без конструктора ты не создашь объект. Конструктор по умолчанию всегда есть.