Al igual que en C, un programa en C++ consta de una función principal: main y un número indeterminado de otras funciones. C++ requiere que todas las funciones tengan prototipos.
Punteros a void en funciones
El uso más importante de punteros void en C++ es pasar la dirección de tipos de datos diferentes en una llamada a función cuando no se conoce por anticipado que tipo de dato se pasa.
#include <iostream.h>
enum dato{caracter,real,entero,cadena};
void ver(void *,dato);
void main()
{
char a='b';
int x=3;
double y=4.5;
char *cad="hola";
ver(&a,caracter);
ver(&x,entero);
ver(&y,real);
ver(cad,cadena);
}
void ver( void *p, dato d)
{
switch(d)
{
case caracter: printf("%c\n",*(char *)p);
break;
case entero: printf("%d\n",*(int *)p);
break;
case real: printf("%ld\n",*(double *)p);
break;
case cadena: printf("%s\n",(char *)p);
}
}
En este ejemplo no se conoce por anticipado cuál es el tipo del valor que se pasará como argumento a la función ver.
Compilación separada
Un programa C++ consta de uno o más archivos fuente que se compilan y enlazan juntos para formar un programa ejecutable.
La mayoría de las bibliotecas contienen un número significativo de funciones y variables. Para ahorrar trabajo y asegurar la consistencia cuando se hacen declaraciones externas de estos elementos, C++ utiliza un dispositivo denominado archivo de cabecera. Un archivo de cabecera es un archivo que contiene las declaraciones externas de una biblioteca. Estos archivos tienen extensión .h.
Ejemplo:
archivo max.h
int max(int,int); //prototipo de la función
archivo maximo.cpp
int max(int x, int y) //definición de la función
{
if (x>y) return(x);
return(y);
}
archivo principal.cpp
#include <iostream.h>
#include "max.h"
void main()
{
int a=5,b=6;
cout<<"mayor "<<max(a,b);
}
Hay 454 opiniones. Opina sobre este curso.
| Cursos | Valoración | Alumnos | Vídeo | |
|---|---|---|---|---|
|
Primeros pasos con XML y XSL XML es el acrónimo del inglés eXtensible Markup Language cuyo objetivo principal es conseguir una página web más semántica. Inicialmente nace como sucesor del HTML, separ... [10/09/04] |
|
6.772 | ||
|
Holística informática Aprende con nuestro curso de holística informática, sobre los avances informáticos que te ayudará a actualizarte conociendo más acer... [28/04/09] |
|
1.189 | ||
|
Java Java nació con el deseo por parte de Sun de buscar un lenguaje de programación enfocado a electrodomésticos. Se necesitaba alg&uacu... [23/04/04] |
|
46.787 | ||
Publicar en
del.icio.us
digg
meneame