SlideShare una empresa de Scribd logo
1 de 2
Descargar para leer sin conexión
EJEMPLO DE PASO DE FUNCIONES COMO PARÁMETROS A OTRA FUNCIÓN

#include <iostream>
#include <conio.h>

char auxa(int posicion);        // prototipo de auxa
void escribe (int posicion, char (* ptr)(int) ); // L.5: prototipo de escribe

int main() {                       // ======================
  char (* fptr) (int);              // M.1: declara fptr puntero-a-función

    fptr = auxa;             // M.2: inicia fptr
    cout<<"La letra ”<<5<<” es una: “<< auxa(5)<<endl;
    escribe (5, fptr);        // M.4: llamada a escribe
    return (0);
}

char auxa (int num) {         // Definición de auxa
  char * str = "Hola mundo";
  return str[num];           // L.16
}

void escribe (int pos, char (* fpointer)(int) ) { // definición de escribe
  char ch ;
  printf ("Estoy recibiendo la letra: %cn", auxa(pos));
  ch = (* fpointer)(6);
  printf ("Estoy inventando la letra: %cn", ch);
}

Salida:

La letra 5 es una: m
Estoy recibiendo la letra: m
Estoy inventando la letra: u
Comentario:


La función auxa recibe un entero y devuelve un carácter. El puntero str a la matriz de
caracteres "Hola mundo" es una variable local de esta función. El lector observador,
percibirá que el carácter devuelto en L.16, se obtiene utilizando una notación de puntero
con subíndice, algo extraño a la luz de la expuesto hasta ahora. En realidad también
podríamos haber puesto:

return *(str+num);   // L.16-bis

Al tratar de las matrices justificaremos la notación de subíndices más compacta. Por el
momento el lector puede aceptar la que le resulte más cómoda. También observar que
en este caso hemos suprimido el paréntesis en el valor devuelto por no ser realmente
necesario.

return (str[num]) == return str[num]

La función escribe recibe dos parámetros: un entero, y un puntero-a-función aceptando
un entero y devolviendo un carácter. Su prototipo está en L.5, y su definición en L.18.
Observe que esta función proporciona dos salidas. La primera de ellas es una invocación
a cout parecida a la realizada en M.3, en la que el segundo argumento es también el
resultado de una invocación directa a auxa.

La segunda se realiza también mediante un cout, pero en este caso, se utiliza
directamente un char como segundo argumento, que es proporcionado por la variable
local ch. El punto interesante aquí es que su valor se ha obtenido mediante una
invocación a auxa a través de un puntero.

El programa comienza declarando fptr, un puntero-a-función que acepta un entero y
devuelve un char (M.1). A continuación se inicia de forma que señale a la función auxa
(que cumple con las condiciones exigidas por el puntero).

En M.3 se escribe la primera salida. Observe que el tercer argumento de cout es el
valor devuelto por una invocación a auxa pasándole un 5 como argumento. En este
contexto las sentencias

       auxa(n);
       (* fpointer)(n);
       fpointer(n);

son equivalentes.

En M.4 se realiza una invocación a escribe utilizando como segundo argumento es el
puntero fptr definido en las líneas anteriores. Esta invocación es responsable de la
segunda y tercera salidas.

Más contenido relacionado

Similar a Ejemplo de paso de funciones como parámetros a otra función

Gestión Dinámica de la Memoria
Gestión Dinámica de la MemoriaGestión Dinámica de la Memoria
Gestión Dinámica de la MemoriaMago Julio Cesar
 
Programación en c (iii parte)
Programación en c (iii parte)Programación en c (iii parte)
Programación en c (iii parte)MarielaCuriel
 
Trabajo programacion 1 jose silva
Trabajo programacion 1 jose silvaTrabajo programacion 1 jose silva
Trabajo programacion 1 jose silvaJhosse Ant Siilva
 
Tema 7 www.fresymetal.com
Tema 7 www.fresymetal.comTema 7 www.fresymetal.com
Tema 7 www.fresymetal.comFresyMetal
 
Apuntadores-Programación
Apuntadores-ProgramaciónApuntadores-Programación
Apuntadores-ProgramaciónReina Rodriguez
 
Investigacion de elementos y codigos de c++
Investigacion de elementos y codigos de c++Investigacion de elementos y codigos de c++
Investigacion de elementos y codigos de c++Leonardo Torres
 
Lenguaje de programación c
Lenguaje de programación cLenguaje de programación c
Lenguaje de programación cvictdiazm
 
Algoritmos y lenjuage de programacion
Algoritmos y  lenjuage de programacionAlgoritmos y  lenjuage de programacion
Algoritmos y lenjuage de programacionYsaac Ruiz
 
Introducción a los Punteros en el lenguaje C
Introducción a los Punteros en el lenguaje CIntroducción a los Punteros en el lenguaje C
Introducción a los Punteros en el lenguaje CDiego Santimateo
 
Metodos funciones
Metodos funcionesMetodos funciones
Metodos funcioneseulo10
 
ENTRADA Y SALIDA DE DATOS EN JAVA
ENTRADA Y SALIDA DE DATOS EN JAVAENTRADA Y SALIDA DE DATOS EN JAVA
ENTRADA Y SALIDA DE DATOS EN JAVAGabriel Suarez
 
Roberto orta salinas
Roberto orta salinasRoberto orta salinas
Roberto orta salinasmezano09
 
Roberto orta salinas
Roberto orta salinasRoberto orta salinas
Roberto orta salinasAngel Perez
 
Roberto orta salinas
Roberto orta salinasRoberto orta salinas
Roberto orta salinasmezano09
 

Similar a Ejemplo de paso de funciones como parámetros a otra función (20)

Gestión Dinámica de la Memoria
Gestión Dinámica de la MemoriaGestión Dinámica de la Memoria
Gestión Dinámica de la Memoria
 
Programación en c (iii parte)
Programación en c (iii parte)Programación en c (iii parte)
Programación en c (iii parte)
 
Trabajo programacion 1 jose silva
Trabajo programacion 1 jose silvaTrabajo programacion 1 jose silva
Trabajo programacion 1 jose silva
 
Tipo de Operadores
Tipo de OperadoresTipo de Operadores
Tipo de Operadores
 
Codigos C+++
Codigos C+++Codigos C+++
Codigos C+++
 
Tema 7 www.fresymetal.com
Tema 7 www.fresymetal.comTema 7 www.fresymetal.com
Tema 7 www.fresymetal.com
 
Apuntadores-Programación
Apuntadores-ProgramaciónApuntadores-Programación
Apuntadores-Programación
 
Investigacion de elementos y codigos de c++
Investigacion de elementos y codigos de c++Investigacion de elementos y codigos de c++
Investigacion de elementos y codigos de c++
 
Códigos c++
Códigos c++Códigos c++
Códigos c++
 
Lenguaje de programación c
Lenguaje de programación cLenguaje de programación c
Lenguaje de programación c
 
Algoritmos y lenjuage de programacion
Algoritmos y  lenjuage de programacionAlgoritmos y  lenjuage de programacion
Algoritmos y lenjuage de programacion
 
Solucion ejercicios punteros cadenas-vectores
Solucion ejercicios punteros cadenas-vectoresSolucion ejercicios punteros cadenas-vectores
Solucion ejercicios punteros cadenas-vectores
 
Introducción a los Punteros en el lenguaje C
Introducción a los Punteros en el lenguaje CIntroducción a los Punteros en el lenguaje C
Introducción a los Punteros en el lenguaje C
 
Metodos funciones
Metodos funcionesMetodos funciones
Metodos funciones
 
Funcionesenlenguaje c
Funcionesenlenguaje cFuncionesenlenguaje c
Funcionesenlenguaje c
 
Programación 1: funciones en C
Programación 1: funciones en CProgramación 1: funciones en C
Programación 1: funciones en C
 
ENTRADA Y SALIDA DE DATOS EN JAVA
ENTRADA Y SALIDA DE DATOS EN JAVAENTRADA Y SALIDA DE DATOS EN JAVA
ENTRADA Y SALIDA DE DATOS EN JAVA
 
Roberto orta salinas
Roberto orta salinasRoberto orta salinas
Roberto orta salinas
 
Roberto orta salinas
Roberto orta salinasRoberto orta salinas
Roberto orta salinas
 
Roberto orta salinas
Roberto orta salinasRoberto orta salinas
Roberto orta salinas
 

Más de Salvador Fernández Fernández

10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
10 mentiras con las que siempre engañan a los diseñadores gráficos por John DaniSalvador Fernández Fernández
 
10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
10 mentiras con las que siempre engañan a los diseñadores gráficos por John DaniSalvador Fernández Fernández
 
Varios Algoritmos Voraces De DecisióN Y OptimizacióN
Varios Algoritmos Voraces De DecisióN Y OptimizacióNVarios Algoritmos Voraces De DecisióN Y OptimizacióN
Varios Algoritmos Voraces De DecisióN Y OptimizacióNSalvador Fernández Fernández
 

Más de Salvador Fernández Fernández (20)

Servicio web soap en java con net beans
Servicio web soap en java con net beansServicio web soap en java con net beans
Servicio web soap en java con net beans
 
Web services
Web servicesWeb services
Web services
 
Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)
 
Práctica nominas
Práctica nominasPráctica nominas
Práctica nominas
 
Ejemplo usopunteros
Ejemplo usopunterosEjemplo usopunteros
Ejemplo usopunteros
 
Ejercicios punteros cadenas-vectores
Ejercicios punteros cadenas-vectoresEjercicios punteros cadenas-vectores
Ejercicios punteros cadenas-vectores
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Introducción a Enterprise Java Beans
Introducción a Enterprise Java BeansIntroducción a Enterprise Java Beans
Introducción a Enterprise Java Beans
 
Colorear fotografias en blanco y negro
Colorear fotografias en blanco y negroColorear fotografias en blanco y negro
Colorear fotografias en blanco y negro
 
10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
 
10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
 
Wallpaper natural
Wallpaper naturalWallpaper natural
Wallpaper natural
 
SQL
SQLSQL
SQL
 
Cableado Estructurado de Red
Cableado Estructurado de RedCableado Estructurado de Red
Cableado Estructurado de Red
 
Redes De Computadores UOC
Redes De Computadores UOCRedes De Computadores UOC
Redes De Computadores UOC
 
Fundamentos Divide Y Venceras
Fundamentos Divide Y VencerasFundamentos Divide Y Venceras
Fundamentos Divide Y Venceras
 
Divide y Vencerás
Divide y VencerásDivide y Vencerás
Divide y Vencerás
 
Java orientado a objetos
Java orientado a objetosJava orientado a objetos
Java orientado a objetos
 
Varios Algoritmos Voraces De DecisióN Y OptimizacióN
Varios Algoritmos Voraces De DecisióN Y OptimizacióNVarios Algoritmos Voraces De DecisióN Y OptimizacióN
Varios Algoritmos Voraces De DecisióN Y OptimizacióN
 
PlanificacióN Temporal Esquema Voraz Tecnoacademy
PlanificacióN Temporal Esquema Voraz TecnoacademyPlanificacióN Temporal Esquema Voraz Tecnoacademy
PlanificacióN Temporal Esquema Voraz Tecnoacademy
 

Último

Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 

Último (20)

Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 

Ejemplo de paso de funciones como parámetros a otra función

  • 1. EJEMPLO DE PASO DE FUNCIONES COMO PARÁMETROS A OTRA FUNCIÓN #include <iostream> #include <conio.h> char auxa(int posicion); // prototipo de auxa void escribe (int posicion, char (* ptr)(int) ); // L.5: prototipo de escribe int main() { // ====================== char (* fptr) (int); // M.1: declara fptr puntero-a-función fptr = auxa; // M.2: inicia fptr cout<<"La letra ”<<5<<” es una: “<< auxa(5)<<endl; escribe (5, fptr); // M.4: llamada a escribe return (0); } char auxa (int num) { // Definición de auxa char * str = "Hola mundo"; return str[num]; // L.16 } void escribe (int pos, char (* fpointer)(int) ) { // definición de escribe char ch ; printf ("Estoy recibiendo la letra: %cn", auxa(pos)); ch = (* fpointer)(6); printf ("Estoy inventando la letra: %cn", ch); } Salida: La letra 5 es una: m Estoy recibiendo la letra: m Estoy inventando la letra: u Comentario: La función auxa recibe un entero y devuelve un carácter. El puntero str a la matriz de caracteres "Hola mundo" es una variable local de esta función. El lector observador, percibirá que el carácter devuelto en L.16, se obtiene utilizando una notación de puntero con subíndice, algo extraño a la luz de la expuesto hasta ahora. En realidad también podríamos haber puesto: return *(str+num); // L.16-bis Al tratar de las matrices justificaremos la notación de subíndices más compacta. Por el momento el lector puede aceptar la que le resulte más cómoda. También observar que
  • 2. en este caso hemos suprimido el paréntesis en el valor devuelto por no ser realmente necesario. return (str[num]) == return str[num] La función escribe recibe dos parámetros: un entero, y un puntero-a-función aceptando un entero y devolviendo un carácter. Su prototipo está en L.5, y su definición en L.18. Observe que esta función proporciona dos salidas. La primera de ellas es una invocación a cout parecida a la realizada en M.3, en la que el segundo argumento es también el resultado de una invocación directa a auxa. La segunda se realiza también mediante un cout, pero en este caso, se utiliza directamente un char como segundo argumento, que es proporcionado por la variable local ch. El punto interesante aquí es que su valor se ha obtenido mediante una invocación a auxa a través de un puntero. El programa comienza declarando fptr, un puntero-a-función que acepta un entero y devuelve un char (M.1). A continuación se inicia de forma que señale a la función auxa (que cumple con las condiciones exigidas por el puntero). En M.3 se escribe la primera salida. Observe que el tercer argumento de cout es el valor devuelto por una invocación a auxa pasándole un 5 como argumento. En este contexto las sentencias auxa(n); (* fpointer)(n); fpointer(n); son equivalentes. En M.4 se realiza una invocación a escribe utilizando como segundo argumento es el puntero fptr definido en las líneas anteriores. Esta invocación es responsable de la segunda y tercera salidas.