Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Void f1()
{cout<<"\nThe end of work";exit(0);} Void f2() {cout<<"\nThe work #1";} Void f3() {cout<<"\nThe work #2";} Void main() { void(*fptr[])()={f1,f2,f3}; Int n; while(1)//бесконечный цикл { cout<<"\n Enter the number"; cin>>n; fptr[n]();//вызов функции с номером n } } Указатели на функции удобно использовать в тех случаях, когда функцию надо передать в другую функцию как параметр. Пример. #include <iostream.h> #include <math.h> typedef float(*fptr)(float);//тип – указатель на функцию float root(fptr f, float a, float b, float e)//решение уравнения методом половинного деления //уравнение передается с помощью указателя на функцию {float x; do { x=(a+b)/2; if ((*f)(a)*f(x)<0)b=x; else a=x; } while((*f)(x)>e&&fabs(a-b)>e); return x; } float testf(float x) {return x*x-1;} void main() { float res=root(testf,0,2,0.0001); cout<<”\nX=”<<res; }
Ссылки на функцию Подобно указателю на функцию определяется и ссылка на функцию: тип_функции(&имя_ссылки)(параметры) инициализирующее_выражение; Пример. int f(float a,int b){... }//определение функции int(&fref)(float,int)=f;//определение ссылки Использование имени функции без параметров и скобок будет восприниматься как адрес функции. Ссылка на функцию является синонимом имени функции. Изменить значение ссылки на функцию нельзя, поэтому более широко используются указатели на функции, а не ссылки. Пример. #include <iostream.h> void f(char c) {cout<<”\n”<<c;} void main() { void (*pf)(char);//указатель на функцию void(&rf)(char);//ссылка на функцию f(‘A’);//вызов по имени pf=f;//указатель ставится на функцию (*pf)(‘B’);//вызов с помощью указателя rf(‘C’);//вызов по ссылке }
Типы данных, определяемые пользователем Date: 2015-08-15; view: 464; Нарушение авторских прав |