Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Поиск ошибок в вариантах кода. Проверьте


Автор: Mastodont 30.3.2010, 15:18
Цитата

Определите, содержат ли следующие фрагменты программы ошибки. Для каждой
ошибки укажите, как она может быть исправлена. Замечание: в некоторых фрагмен-
тах ошибки могут отсутствовать.

a) template < class A >
int sum( int numl, int num2, int num3 )
{
return nurnl + num2 + num3;
}

b) void printResults( int x, inty )
{
cout « "Сумма равна " « x + у « '\n' ;
return x + y;
}

c) template < A >
A product ( A numl, A num2, A num3 )
{
return numl * num2 * numЗ;
}

d) double cube( int );
int cube ( int );


a) Должно быть
Код

template < class A >
A sum( A numl, A num2, A num3 )
{
return numl + num2 + num3;
}


b) Д.б.
Код

int printResults( int x, int y )
{
cout « "Сумма равна " « x + у « '\n' ;
return x + y;
}


c) По моему, правильно.

d) Правильно. Показана перегруженная функция.

Автор: Usper 31.3.2010, 08:00
c - отсутствует слово class в определении шаблона функции.
d - неправильно, перегруженные функции должны отличаться типом и/или количеством параметров, передаваемых в функцию, а не возвращаемым значением.

Автор: Mastodont 31.3.2010, 18:26
Понятно. Спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)