Главная /
Программирование на языке 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
Другие ответы на вопросы из темы программирование интуит.
- # Выберите все правильные ответы. Число 33333 можно хранить в переменной типа
- # Чему равно значение выражения (! ( a && b || c)), где a, b и с - величины типа bool, имеющие значения true, true и false соответственно?
- # Что будет выведено на экран в результате работы программы (учитывая формат вывода)? int k; float y; int main() { k = 4; y = 2; printf ("%4.2f%2d", y, k); return 0; }
- # Выберите все правильные утверждения. В функции printf для величин действительного типа можно задавать формат вида printf("%К.Мf", A), где А - переменная или выражение,
- # Какое из следующих утверждений правильное?