Descomposicion en modulos EN 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 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:
clases constructores y destructores
Siguiente:
clases array de objetos
apuntes lenguaje c:
· Algunos conceptos· Tipos en el lenguaje c
· Variables y constantes en c
· Operadores en el lenguaje c
· Entrada/salida en c
· Estructuras de control en c
· Arrays y punteros en c
· Reserva dinamica de memoria en c
· Funciones en lenguaje c
· Estructuras en lenguaje c
· Clases
· Clases y encapsulacion en c
· Clases constructores y desctructores en c
· Descomposicion en modulos en c
· Array de objetos en c
· Clases static en c
· Un objeto con un puntero interno
· Punteros a clases en c
· Objetos encadenados en c
· Sobrecarga de operadores en c
IMPORTANTE:
- Si te ha gustado esta pagina, por favor, votanos aqui:- Si no te ha gustado, escribenos y cuentanos en que mejorar.

apuntes