Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lekcija-12.pdf
Скачиваний:
26
Добавлен:
10.02.2016
Размер:
367.6 Кб
Скачать

int main()

{

const unsigned n1=7; const unsigned n2=5;

static int iarray[n1] = {5, 1, 6, 20, 15, 0, 12};

int isum = add(iarray); //или int isum = add(iarray, n1); cout << "isum=" << isum << endl;

static double darray[n2] = {6.1, 20.2, 15.3, 0.4, 12.5}; double dsum = add(darray); //или int isum = add(iarray, n2);

cout << "dsum=" << dsum << endl; _getch();

return 0;

}

Массив указателей на функцию

Как и обычные переменные, в массивы могут объединяться и указатели на функции. Рассмотрим пример:

int

dif (int, int);

//прототипы функций

int

sum(int, int);

 

int main() {int a,b;

char upr;

int (*func [])(int, int) = {dif, sum};

cout <<"Input a

b:"<< endl;

 

cin >> a >>

b;

priznak function"<< endl;

cout << "Input

do

 

 

 

{switch (upr = getche()) //функция getche() «берет» символ,

{case 'd':

//не ожидая нажатия <enter>

 

 

cout <<

endl;

// вызов функции dif (a,b);

cout

<<

(*(*func))(a, b);

cout

<<endl;

//вызов функции dif (a,b);

cout

<<

(*func[0])(a, b);

cout

<<

endl;

 

break;

 

 

case 's':

<<

endl;

 

cout

//вызов функции sum (a,b);

cout

<<

(*func[1])(a, b);

cout

<<

endl;

 

cout

<<

(*(*(func+1)))(a, b); //вызов функции sum (a,b);

cout

<<

endl;

 

break;

default: cout << "\n input char\n" << endl;

}

}while (upr !='d' && upr !='s'); _getch();

return 0;

}

int dif(int a, int b) {return a-b;}

int sum(int a, int b)

Программирование – лекция 12 (лекции Стрикелевой Л.В.)

14

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]