Учимся программировать на языке C++


ПЕРВОЕ ЗНАКОМСТВО С ПЕРЕГРУЗКОЙ ФУНКЦИЙ


Перегрузка функций позволяет вашим программам определять несколько функций с одним и тем же именем и типом возвращаемого значения. Например, следующая программа перегружает функцию с именем add_values. Первое определение функции складывает два значения типа int. Второе определение функции складывает три значения. В процессе компиляции C++ корректно определяет функцию, которую необходимо использовать:

#include iostream.h

int add_values(int a,int b)

{

return(a + b);

)

int add_values (int a, int b, int c)

(

return(a + b + c);

)

void main(void)

{

cout "200 + 801 = " add_values(200, 801) endl;



cout "100 + 201 + 700 = " add_values(100, 201, 700) endl;

}

Как видите, программа определяет две функции с именами add_values Первая функция складывает два значения типа int, в то время как вторая складывает три значения. Вы не обязаны что-либо предпринимать специально для того, чтобы предупредить компилятор о перегрузке, просто используйте ее. Компилятор разгадает, какую функцию следует использовать, основываясь на предлагаемых программой параметрах.

Подобным образом следующая программа MSG_OVR.CPP перегружает функцию show_message. Первая функция с именем show_message выводит стандартное сообщение, параметры ей не передаются. Вторая выводит передаваемое ей сообщение, а третья выводит два сообщения:

#include iostream.h

void show_message(void)

{

cout "Стандартное сообщение: " "Учимся программировать на C++" endl;

}

void show_message(char *message)

{

cout message endl;

}

void show_message(char *first, char *second)

{

cout first endl;

cout second endl;

}

void main(void)

{

show_message();

show_message("Учимся программировать на языке C++!");

show_message("B C++ нет предрассудков!","Перегрузка - это круто!") ;

}



Содержание раздела