es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo acceder a los métodos de las clases almacenadas en un unordered_map en C++

Tengo una clase llamada Cuenta y la estoy almacenando en un unordered_map, pero cuando intento acceder a las funciones de esa clase dentro del mapa, falla al compilar. La clase está almacenada en un archivo de encabezado “Bank.h”.

Estas funciones están almacenadas en un archivo cpp separado con #include “Bank.h”

std::unordered_map<std::string, cuenta=””> listaCuentas;
Cuenta prueba(100, “Probador”);
std::cout << prueba.getBal();
listaCuentas.insert(std::make_pair(“Prueba”, prueba));
listaCuentas[“Prueba”].getName();</std::string,>

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Al intentar acceder a las funciones de la clase Cuenta dentro de la unordered_map, no se compila. Esto puede deberse a que las funciones no están marcadas como const, lo cual es necesario al acceder a funciones del tipo de valor en una unordered_map. Para solucionar este problema, agregue la palabra const al final de las funciones de la siguiente manera:

    double getBal() const {
        return this->balance;
    }
    
    std::string getName() const {
        return this->username;
    }
    

    Después de realizar estos cambios, debería ser posible acceder a las funciones de la clase Cuenta dentro de la unordered_map sin errores de compilación.

Comments are closed.