[ hwclass.h ]
1 2 3 4 5 6 7 8 | class HolaMundo { public: HolaMundo(); ~HolaMundo(); void coutVersion(); }; |
[ hwclass.cpp ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #include <iostream> #include "hwclass.h" using namespace std; HolaMundo::HolaMundo() { cout<<"Hola Mundo!!"<<endl; } HolaMundo::~HolaMundo() { cout<<"Adiós Mundo!!"<<endl; } void HolaMundo::coutVersion() { cout<<"HolaMundo Versión 1.0"<<endl; } |
[ main.cpp ]
1 2 3 4 5 6 7 | #include "hwclass.h" int main() { HolaMundo hm; hm.coutVersion(); } |
Si queremos compilar el proyecto podemos hacer:
$ g++ -o holamundo main.cpp hwclass.cpp
Bueno, a lo que voy, como veis en hwclass.cpp y hwclass.h se repiten algunas cosas, el nombre de la clase, y el nombre de los métodos cuando vamos a definir el código de cada uno… cuando en el archivo .h se definen decenas de métodos resulta muy repetitivo teclear una y otra vez lo mismo y más aún mantener el orden de los métodos.
Para ello quiero presentar dos aplicaciones:
lzz
Podemos descargarlo desde aquí, tiene multitud de opciones y es bastante potente. Aunque yo veo un gran defecto, tenemos que crear un fichero lzz, que luego el programa lo convertirá a cpp y hpp extrayendo la información según corresponda. Por otra parte, para generar el ejecutable, necesitamos el binario de lzz (como si de un compilador se tratara)
stubgen
Lo encontramos aquí, y aunque le falta alguna que otra cosilla como personalización de la documentación, es bastante potente y nos permite trabajar normalmente con nuestro .h y generar el .cpp con todos los métodos empezados, justo para que nosotros completemos el código.
Foto: ~Brenda_Starr~ (Flickr)
¿Por qué un cuchillo? Un stub en programación es un trozo de código incompleto (tal vez simula lo que va a hacer, o sólo es una pincelada)… stub se parece a stab (puñalada).