Ejemplo de archivo .h y código de implementación de una clase
Ejemplo de archivo .h y código de implementación de una clase en C++
1. Archivo de encabezado (clase.h):
C++
// clase.h
#ifndef CLASE_H
#define CLASE_H
class Persona {
public:
// Constructor
Persona(std::string nombre, int edad);
// Métodos
void saludar();
std::string obtenerNombre() const;
int obtenerEdad() const;
private:
std::string nombre;
int edad;
};
#endif
Explicación del archivo de encabezado:
- Se declara una clase llamada
Personacon dos atributos privados:nombre(de tipostd::string) yedad(de tipoint). - La clase tiene un constructor público que inicializa los atributos
nombreyedadcon los valores proporcionados como argumentos. - La clase tiene tres métodos públicos:
saludar(): Imprime un mensaje de saludo con el nombre de la persona.obtenerNombre(): Devuelve el nombre de la persona como un objetostd::string.obtenerEdad(): Devuelve la edad de la persona como un valorint.
- Los atributos y métodos privados solo son accesibles desde dentro de la clase
Persona.
2. Código de implementación (clase.cpp):
C++
// clase.cpp
#include "clase.h"
Persona::Persona(std::string nombre, int edad) {
this->nombre = nombre;
this->edad = edad;
}
void Persona::saludar() {
std::cout << "Hola, mi nombre es " << nombre << " y tengo " << edad << " años." << std::endl;
}
std::string Persona::obtenerNombre() const {
return nombre;
}
int Persona::obtenerEdad() const {
return edad;
}
Explicación del código de implementación:
- Se incluye el archivo de encabezado
clase.hpara acceder a la declaración de la clasePersona. - Se implementa el constructor de la clase
Persona, asignando los valores de los argumentos a los atributosnombreyedad. - Se implementa el método
saludar, imprimiendo un mensaje de saludo con el nombre y la edad de la persona. - Se implementa el método
obtenerNombre, devolviendo el valor del atributonombre. - Se implementa el método
obtenerEdad, devolviendo el valor del atributoedad.
Cómo usar la clase Persona:
C++
#include "clase.h"
int main() {
Persona persona1("Juan", 30); // Crear un objeto Persona
persona1.saludar(); // Llamar a un método de la clase
Persona persona2("Maria", 25);
std::cout << "Nombre: " << persona2.obtenerNombre() << std::endl;
std::cout << "Edad: " << persona2.obtenerEdad() << std::endl;
return 0;
}
En este ejemplo, se crean dos objetos Persona y se llaman a sus métodos para saludar, obtener el nombre y la edad.
En resumen:
- Los archivos de encabezado (.h) se utilizan para declarar las interfaces de las clases, incluyendo sus atributos, métodos y constructores.
- Los archivos de implementación (.cpp) contienen la definición de los métodos de las clases, proporcionando la lógica para implementar el comportamiento de la clase.
- Las clases permiten crear objetos que encapsulan datos (atributos) y comportamiento (métodos), promoviendo la modularidad y reutilización del código en C++.
Comentarios
Publicar un comentario