Hostias.
Y es que la preguntita se las trae, vamos a ver una funcion es una parte de codigo a la cual se puede pasar parametros y los puede devolver, tu creas tus propias funciones, para realizar determinadas tareas. La gente que realizo los compiladores creo sus propias funciones y las redistribuyo creando asi unas librerias mas o menos estandar, la estructura de C indica que las funciones debe de tener una cabecera para que el compilador no se vuelva loco, la cabecera de la funcion es la declaracion de la propia funcion, en la que se indica los parametros que pueden aceptar, todas las declaraciones de las funcionas las encuentras en archivos con extension h, hpp, si miras dentro de tu compilador encontras ficheros con extension .h tales como stdio.h, stdlib.h, etc, si las miras encontraras, las definiciones de las funciones, entre ellas
sizeof, strlen,memcpy,memcpy, etc, Bien esto es para C, C++ utiliza clases, las clases no son mas que una especies de estructuras que admiten variables y funciones.
Voy a poner un ejemplo para que te aclares,
#include <stdio.h>
// esto es un cabecera de sistema
void funcion_Imprime(int num);
//esto es una funcion mia
class Suma // esto es una estructura mia
{
public: // miembros publicos pueden acceder clase derivadas
Suma(); //constructor, que como ves
//es una funcion
int Numero_1;
int Numero_2;
int RealizaSuma();
};
esto iria en un .hpp
en el codigo .cpp realizarimos las
declaraciones de la clase
Suma::Suma() //constructor
{
// por ejemplo inicilizarimos las variales
Numero_1 = 2;
Numero_2 = 3;
}
int Suma::RealizaSuma()//mi funcion de suma
{
return Numero_1 + Numero_2;
}
En el cuerpo del programa
main()
{
Suma clase;//creamos una clase derivada de suma
printf("%d",clase.RealizaSuma());
}