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 Persona con dos atributos privados: nombre (de tipo std::string) y edad (de tipo int).
  • La clase tiene un constructor público que inicializa los atributos nombre y edad con 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 objeto std::string.
    • obtenerEdad(): Devuelve la edad de la persona como un valor int.
  • 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.h para acceder a la declaración de la clase Persona.
  • Se implementa el constructor de la clase Persona, asignando los valores de los argumentos a los atributos nombre y edad.
  • 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 atributo nombre.
  • Se implementa el método obtenerEdad, devolviendo el valor del atributo edad.

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

Entradas más populares de este blog

Generación de números aleatorios

Paso de parámetros en funciones

STL de C++