la verdad que me parece una forma horrenda y engorrosa eso de poner la cabecera en un archivo y desarrollarlas en otro
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.
Respondo lo que creo es tu duda:
Supongo que si te aventuraste con las clases, ya pasaste por las estructuras,
De ser así, te comento, el principal cambio es el encapsulamiento.
(o es lo que importa de momento, según interpreto tu duda)
Vos con estructuras podes acceder a sus atributos simplemente con estructura.atributo
Ahora, si estas usando clases como corresponde, todos tus atributos van a ser privados y solo vas a poder acceder a ellos mediante métodos de esa clase (los cuales, obviamente, tienen que ser públicos)
Entonces, si tu clase tiene un atributo Dato1, vos vas a tener que mediante un método, devolver ese dato o un puntero al mismo
Y si lo vas a querer modificar, vas a tener que crear un método que reciba el nuevo valor de Dato1 y reemplazar al anterior
Acá pongo un ejemplito:
Main
#include <iostream>
#include <string.h>
#include "Class.h"
using namespace std;
int main()
{
clsPersona persona1;
cout << "Ingrese la edad" << endl;
persona1.setEdad();
cout << "Ingrese el nombre" << endl;
persona1.setNombre();
cout << endl;
cout << persona1.getNombre() << endl;
cout << persona1.getEdad() << endl;
return 0;
}
Class.h
using namespace std;
class clsPersona
{
private:
char nombre[30];
int edad;
public:
char* getNombre(){return this->nombre;};
int getEdad(){return this->edad;};
void setNombre(){cin >> this->nombre;};
void setEdad(){cin >> this->edad;};
};
Por otro lado:
"Después para poder usar los metodos de esa clase en otra, bastaria con incluir el #include "archivo.h" y ya podria acceder a sus metodos y atributos con un objeto de dicha clase , ¿no?"
Me genera mucha intriga lo que dijiste ahí.
Hablas de usar los métodos de una clase para otra clase?
"podría acceder a sus atributos con un objeto de dicha clase".
Por las dudas te aclaro, cuando vos instancias una clase, estas creando un "paquete" de sus atributos, no es que la clase tiene sus atributos y vos accedes a ellos mediante el objeto.
Vos podes tener muchos objetos de una misma clase, y cada uno tiene su atributo nombre por ejemplo, cada uno independiente del otro.
espero algo de esto te sirva, y no haber escrito tanto al dope.
saludos