HOWTO · C++

Obtener el nombre de la clase en C++

En este artículo, seguiremos los pasos necesarios para obtener el nombre de la clase usando el lenguaje de programación C++.

En este artículo, aprenderemos cómo obtener el nombre de la clase usando el lenguaje de programación C++.

Descripción general de la clase en C++

En C++ todo está conectado a clases y objetos, cada uno con sus características y procedimientos.

Una clase es un tipo de datos definido por el usuario, lo que significa que puede crear sus tipos. Sirve como un constructor de objetos, a veces conocido como una “guía”, para generar nuevos objetos.

Obtener el nombre de la clase en C++

Comencemos por importar las bibliotecas para que podamos acceder a todos los métodos necesarios para nuestra aplicación.

#include <iostream>

Crearemos tres clases y les daremos los nombres getClassNameSaad, getClassName, y className. En los siguientes pasos, obtendremos acceso a los nombres de estas clases.

class getClassNameSaad {};

class getClassName {};

class className {};

Dentro de la función main(), necesitamos crear una instancia de las clases que acabamos de crear.

int main() {
  getClassNameSaad a_variable;
  getClassName b_variable;
  className c_variable;
}

Ahora que hemos terminado con el paso anterior, necesitamos generar los nombres de las clases. Utilizaremos el método typeid(), le pasaremos los parámetros a_variable,, b_variable, y c_variable,, y luego accederemos a la función name() de la clase.

std::cout << typeid(a_variable).name() << "\n";
std::cout << typeid(b_variable).name() << "\n";
std::cout << typeid(c_variable).name() << "\n";

Código fuente completo:

#include <iostream>

class getClassNameSaad {};
class getClassName {};
class className {};

int main() {
  getClassNameSaad a_variable;
  getClassName b_variable;
  className c_variable;

  std::cout << typeid(a_variable).name() << "\n";
  std::cout << typeid(b_variable).name() << "\n";
  std::cout << typeid(c_variable).name() << "\n";
  return 0;
}

Producción :

16getClassNameSaad
12getClassName
9className

Los números enteros en la salida antes del nombre de cada clase representan el número total de letras incluidas en el nombre de esa clase.