13.01.2015 Views

Pensar en C++ (Volumen 1) - Grupo ARCO

Pensar en C++ (Volumen 1) - Grupo ARCO

Pensar en C++ (Volumen 1) - Grupo ARCO

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

✐<br />

✐<br />

✐<br />

“Volum<strong>en</strong>1” — 2012/1/12 — 13:52 — page 129 — #167<br />

✐<br />

3.10. Direcciones de función<br />

Es poco habitual necesitar declaraciones y definiciones tan complicadas como<br />

éstas. Sin embargo, si se propone <strong>en</strong>t<strong>en</strong>derlas, no le desconcertarán otras algo m<strong>en</strong>os<br />

complicadas pero que si <strong>en</strong>contrará <strong>en</strong> la vida real.<br />

3.10.3. Uso de un puntero a función<br />

Una vez que se ha definido un puntero a función, debe asignarle la dirección de<br />

una función antes de poder usarlo. Del mismo modo que la dirección de un array<br />

arr[10] se obti<strong>en</strong>e con el nombre del array sin corchetes (arr), la dirección de<br />

una función func() se obti<strong>en</strong>e con el nombre de la función sin lista de argum<strong>en</strong>tos<br />

(func). También puede usar una sintáxis más explícita: &func(). Para invocar la<br />

función, debe derefer<strong>en</strong>ciar el puntero de la misma forma que lo ha declarado (recuerde<br />

que C y <strong>C++</strong> siempre int<strong>en</strong>tan hacer que las definiciones se parezcan al modo<br />

<strong>en</strong> que se usan). El sigui<strong>en</strong>te ejemplo muestra cómo se define y usa un puntero a<br />

función:<br />

//: C03:PointerToFunction.cpp<br />

// Defining and using a pointer to a function<br />

#include <br />

using namespace std;<br />

void func() {<br />

cout

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!