Прототипы функций
Прототипы функций в С++ записываются ранее того места, где эта
функция будет использована. Это позволяет компилятору контролировать
типы вызываемых функций. Рассмотрим, например, ошибочную функцию по
вычислению налога на добавленную стоимость:
int nalog(int, int, int);
Прототипы сообщают транслятору о количестве и типах параметров,
которые могут быть переданы внешне определенным функциям. В список
аргументов можно внести имена параметров:
int nalog(int priceOld, int priceNew, int nalog1);
priceOld=150.5;
priceNew=135.7;
delta=nalog(priceOld, priceNew, 0.28);
Такая запись будет ошибочной в стандартном Си, так как все аргументы приведутся к типу float и будут переданы в тело функции, которая ожидает передачу чисел типа int. В С++ это выражение преобразуется согласно прототипу функции. Таким образом, небольшое изменение
делает программы на С++ более надежными и позволяет избежать множества ошибок.
int nalog(int priceOld, int priceNew, int nalog1)
{
return (priceNew - priceOld)*nalog1;
}
Это реализация функции. Она может быть подключена из другого
файла.
Определение заголовка функции соответствует ее прототипу, который правильней разместить в заголовочном файле.