Citar
la verdad que me parece una forma horrenda y engorrosa eso de poner la cabecera en un archivo y desarrollarlas en otro
Eso es por que todavía no separaste mentalmente Interface de Implementación ... ^^
Lo que me parece un asco es lo que hizo Queta, de meter todo en un .h (cada clase tiene su propia interface, y vá para su respectivo .h/.hpp/.comoquieras) y en el cpp declarar la variable en el namespace global es también una pésima práctica (quiebra la encapsulación ... si lo usa clase2, ponelo dentro de la clase ... si necesitás acceder a algo de forma global e instanciarlo una vez, quizáaaa ... QUIZÁ el patrón singleton pueda ser de ayuda )
Citar
Yo hago un .h para cada clase, y debajo de la clase desarrollo sus métodos
Y si los métodos son extremadamente cortos, los desarrollo ahí mismo.
Y si los métodos son extremadamente cortos, los desarrollo ahí mismo.
Hacelo en un proyecto grande y mirá cómo colisiona el compilador cuando encuentre símbolos re-definidos ...
Saludos.
P.S: Pablo, no mezcles lenguajes .... es mala práctica
P.S2: Para los ejemplos el "using namespace std" está bien, pero en la práctica, hay que ver si es mejor usarlo en un ámbito más local.... depende, depende ... además en el .h no incluiste el iostream antes .. y si un .cpp llama a ese .h sin incluir antes iostream, estás en problemas.