Obtener el nombre de la clase en 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.
I'm a Flutter application developer with 1 year of professional experience in the field. I've created applications for both, android and iOS using AWS and Firebase, as the backend. I've written articles relating to the theoretical and problem-solving aspects of C, C++, and C#. I'm currently enrolled in an undergraduate program for Information Technology.
LinkedIn