|  | 
| Foto tomada de freedigitalphotos.net | 
Definición de una
función.
Las funciones en C++
siguen la misma estructura que en C:
tipo_retorno
identificador (parámetros)
{
            instrucciones;
            return (valor);
}
El tema de la declaración
y uso de variables locales y globales no varía, seguimos pudiendo acceder a las
globales y declarar locales que no se verán en ningún otro sitio.
Llamada a una función.
La estructura es la
siguiente:
variable_destino = identificador
(parámetros);
Para el paso de
parámetros por valor y por referencia es el mismo:
Paso por valor:
tipo_retorno
identificador (parámetros)
{
            instrucciones;
            return (valor);
}
Paso por referencia:
tipo_retorno
identificador (&parámetros)
{
            instrucciones;
            return (valor);
}
Las funciones recursivas
siguen la misma estructura también. A continuación os dejo el código de la
función recursiva que calcula el factorial de un número:
#include
<iostream.h>
int
a,b,factorial;
int main (void)
{
    cout << "Este programa calculara
el factorial del numero entero que ingrese \nPor favor ingrese su numero "
<<endl;
    cin >> a;
    factorial=1;
    for (b=1 ; b<=a ; b++)
    {
         factorial=b*factorial;
    }
    cout << "El factorial es "
<<factorial<<endl;
    system("pause");
    return 0;
}
Punteros.
La definición, estructura
y uso de los punteros no varía en absoluto.
Supongamos el puntero
siguiente:
int num1, num2, *p;
p es un puntero a int.
&p contiene la
dirección de memoria a la que apunta el puntero p.
*p contiene el valor
almacenado en la dirección de memoria a la que apunta. 
Os dejo con un ejemplo de su uso:
#include <iostream>
using namespace std;
int main() { 
   char cadena[10] = "Hola Mundo"; 
   char *c; 
   int *n; 
   void *v;
   c = cadena; // c apunta a cadena 
   n = (int *)cadena; // n también apunta a cadena 
   v = (void *)cadena; // v también 
   cout << "char: " << *c << endl; 
   cout << "int:   " << *n << endl; 
   cout << "float:    " << *(float *)v << endl; 
   return 0; 
}
¿Qué te ha parecido la
serie de post sobre diferencias y equivalencias entre C y C++?