{
int d, m, y;
void set(int, int, int);
void add_y(int);
…
};
В данном примере в структуре Data функции set и add_y были объявлены с помощью прототипов.
Прототип функции – объявление функции, которое не содержит тело функции, но указывает имя функции, арность, типы аргументов и возвращаемый тип данных, в то время как определение функции описывает, что именно делает функция, прототип функции может восприниматься как описание её интерфейса.
Объектный подход позволяет определить новые методы со старыми именами, переопределив тем самым методы класса родителя. Т.е. перегрузка процедур и функций – возможность использования одноименных подпрограмм в языках программирования.
Функции могут иметь параметры по умолчанию. В таком случае, при объявлении параметры, имеющие значение по умолчанию, записываются в конце. Рассмотрим примеры на языке C++. Пусть функция med подсчитывает среднее арифметическое между оценками студента.
float med(int a, int b=50, int c=50)
{
return (a+b+c)/3;
}
В данном примере параметры b и с по умолчанию имеют значение 50. Исходя из этого, при вызове функции в виде med(a) параметры b и c будут иметь значение 50, а при вызове med(45,45) параметры a и b будут иметь значение 45, параметр с будет равен 50. Вызов med(45,,45) будет являться ошибкой.