Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы алгоритмизации и программирования в среде Visual C++ лаб практикум Навроцкий А А, Минск БГУИР, 2008 – 48 с 2008 (Лаб п.pdf
Скачиваний:
292
Добавлен:
15.06.2014
Размер:
813.01 Кб
Скачать

Так же как и при передаче параметров по ссылке, в данном способе используется не значение соответствующей переменной, а ее адрес. Отличие от предыдущего способа состоит в том, что используется операция косвенной адресации (*).

Пример. Поменять местами значения двух переменных x и y

void Swap_Ptr (double *a, double *b)

{

double tmp= *a;

 

*a = *b;

 

*b = tmp;

 

}

 

// Вызов функции Swap_Ptr

Swap_Ptr (&x, &y);

Функция Swap_Ptr требует явного указания адресов при своем вызове (&x, &y) и явного их разыменования в функции (*a и *b).

8.3.Перегрузка функций

ВС++ допустимо использование нескольких функций с одинаковым именем, но различным числом или типами параметров. Такое свойство называется перегрузкой функций. Перегруженные функции различаются компилятором по типам и числу параметров.

Пример. Написать функцию, которая суммирует два, или три целых числа, или все элементы целочисленного массива.

#include <iostream.h>

#include <conio.h>

// Прототипы функций int Sum(int, int);

int Sum(int, int, int); int Sum(int[], int);

int main()

 

{

 

int mas[] = {3,2,4,9,5,8};

// Инициализация массива mas

cout << Sum(5, 3) << endl;

 

cout << Sum(5, 3, 11) << endl;

cout << Sum(mas, 6) << endl;

 

return 0;

 

}

 

int Sum(int a, int b) // Функция суммирования двух чисел

{

return a+b;

}

33

Соседние файлы в предмете Основы алгоритмизации и программирования