Главная / Программирование на языке C++ / Для приведенного ниже кода при вызове функции Func программа аварийно завершается. В чем причина ошибки? class Foo { char *buf; public: Foo(char *b = "default") { buf = new char[strlen(b) + 1]; strcpy(buf, b); } ~Foo() { delete[] buf; } }; Foo Func(Foo f)

Для приведенного ниже кода при вызове функции Func программа аварийно завершается. В чем причина ошибки? class Foo { char *buf; public: Foo(char *b = "default") { buf = new char[strlen(b) + 1]; strcpy(buf, b); } ~Foo() { delete[] buf; } }; Foo Func(Foo f) { return f; }

вопрос

Правильный ответ:

значение конструктора по умолчанию имеет тип char*.
функция должна возвращать Foo& (ссылку).
требуется переопределить операцию =.
выделяется недостаточный объем памяти.
в классе отсутствует конструктор копирования.
Сложность вопроса
50
Сложность курса: Программирование на языке C++
54
Оценить вопрос
Очень сложно
Сложно
Средне
Легко
Очень легко
Комментарии:
Аноним
Я провалил зачёт, почему я не углядел этот чёртов сайт с ответами интуит до этого
12 ноя 2018
Аноним
Экзамен сдал на пять. лол
15 сен 2018
Аноним
Зачёт защитил. Мчусь пить отмечать 4 за тест интуит
02 авг 2018
Оставить комментарий
Другие ответы на вопросы из темы программирование интуит.