Страницы

Поиск по вопросам

суббота, 8 февраля 2020 г.

Объявление объекта класса

#cpp #классы


В классе A есть конструктор по умолчанию и конструктор с 1 параметром.

При таком A x(); и таком A x; объявлениях объекта класса A выполняются разные действия.
Почему?  
    


Ответы

Ответ 1



A x(); - это объявление функции x которая возвращает результат с типом A. В Си и С++ функции можно объявлять в т.ч. и внутри функций, например int main() { int f(); // объявили функцию, которая будет определена ниже. return f(); } int f() { return 0; } Чтобы объявить переменную, используйте фигурные скобки: A x{}; Или просто используйте A x;.

Ответ 2



Данная конструкция A x(); является объявлением функции с именем x, которая возвращает объект класса A и не имеет параметров. Данная конструкция A x; действительно является объявлением объекта класса A с именем x , для создания которого вызывается конструктор по умолчанию.

Комментариев нет:

Отправить комментарий