У меня есть простой вопрос:Конструктор по умолчанию пустого класса является общедоступным. Но как?
class my
{
};
my ob;
Compiler позволяет мне создать объект, который имеет смысл. И я знаю, что вы не можете создать объект, где конструктор является закрытым.
Мне кажется, что все внутри класса private
, но явно не конструктор по умолчанию (потому что он позволяет мне создать объект, поскольку конструктор по умолчанию должен быть public
). Но меня смущает то, что в классе нет public
.
Итак, он создает раздел public
только для размещения в нем конструктора по умолчанию?
Или что-то происходит, и мое обоснование неверно?
Кроме того, как осуществляется доступ к публичным, частным и защищенным внутренне организованным/отслеживаемым при создании или доступе объекта?
Я получил этот вопрос, поскольку до сих пор я никогда не создавал объект пустого класса.
Предоставляемые компилятором конструкторы, деструктор и операторы присваивания являются «публичными». Вы должны активно делать вещи, чтобы их запретить. – juanchopanza