index.htm

RECETAS DE NAVIDAD

- apuntes comunicaciones javascript lenguaje c php autoayuda bolsa chistes empleo fotografia digital ocio sabiasque salud timos trucos

descomposicion en modulos en el lenguaje C

Vamos a separar nuestro ejemplo en tres ficheros:

· Caja.h, que contiene la definicion de la clase

· Caja.cxx, que contiene la implementacion de los metodos declarados en la clase Caja

· main.cxx, la funcion principal.

Fichero Caja.h:

class Caja {

double longitud, anchura, altura;

public:

Caja (double dim1, double dim2, double dim3);

Caja (void);

void set (double nuevaLongitud, double nuevaAnchura, double nuevaAltura);

void print (void);

double getLongitud (void);

double volumen (void) {return longitud * anchura * altura};

~Caja (void);

};

EN EL LENGUAJE Caja.h hemos incluido solo la definicion de la clase. No se dan detalles sobre las diversas funciones. Es decir, tenemos la definicion completa de como utilizar una clase sin detalles de implementacion. Este fichero no puede ser compilado ni ejecutado.

Fichero Caja.cpp:

# include 'Caja.h'

Caja:: Caja (double dim1, double dim2, double dim3) {

longitud = dim1;

anchura = dim2;

altura = dim3;

};

Caja:: Caja (void) {

longitud = 8;

anchura = 8;

altura = 8;

};

void Caja:: set (double nuevaLongitud,nuevaLongitud, double nuevaAnchura, double nuevaAltura) {

longitud = nuevaLongitud;

anchura = nuevaAnchura;

altura = nuevaAltura;

}

void Caja:: print (void) {

cout << 'longitud = ' << longitud <<'\n';

cout << 'anchura = ' << anchura <<'\n';

cout << 'altura = ' << altura <<'\n';

};

double Caja:: getLongitud (void) {

return longitud;

};

Caja::~Caja (void) {

longitud = 0; anchura = 0; altura = 0;

}

Vemos que:

· Se incluye el fichero cabecera Caja.h, que contiene los prototipos de las funciones.

· Caja.cpp contiene la implementacion de las funciones declaradas en la clase Caja.

Este fichero puede ser compilado, pero no ejecutado, porque no tiene funcion main. Cuando sea compilado, el codigo objeto sera almacenado y estara disponible para usarlo por otros programas.

La separacion de la definicion y la implementacion es un paso importante hacia la ingenieria de software. El fichero que contiene la definicion es todo lo que el usuario necesita para utilizar la clase en un programa. No necesita conocer la implementacion real de las funciones.

Fichero main.cpp:

#include <iostream.h>

#include 'Caja.h'

main () {

Caja pequeña(5, 4, 10), mediana (10, 6, 20), grande(20, 10, 30);

cout << 'El volumen de la caja grande es ' << grande.volumen() << '\n';

}

Anterior paso:
clases constructores y destructores
Siguiente paso:
clases array de objetos

· Introduccion al lenguaje c
· Tipos en el lenguaje c
· Variables y constantes en el lenguaje c
· Operadores en el lenguaje c
· Entrada/salida en el lenguaje c
· Estructuras de control en el lenguaje c
· Arrays y punteros en el lenguaje c
· Reserva dinamica de memoria en el lenguaje c
· Funciones en el lenguaje c
· Estructuras en el lenguaje c
· Clases
· Clases y encapsulacion en el lenguaje c
· Constructores y destructores en el lenguaje c++
· Descomposicion en modulos en el lenguaje c
· Array de objetos en el lenguaje c
· Clases static en lenguaje c
· Un objeto con un puntero interno
· Punteros a clases en c
· Objetos encadenados en c
· Sobrecarga de operadores en el lenguaje c

IMPORTANTE:

- Si te ha gustado esta pagina, por favor, votanos aqui:

- Si no te ha gustado, escribenos y cuentanos en que mejorar.

Actualizado: 16/12/2013