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 correctamente a una variable protegida?

Estoy intentando acceder a una de las variables protegidas de la clase items.h usando la clase components.cpp, pero me aparece un error confuso: 😀

Item::Quantity’: no se puede acceder a un miembro protegido declarado en la clase
‘Item’

item.h

 protected:
        int32 Quantity;

component.h

#include "Items/Item.h"
Item* AddItem(class Item* Item, const int32 Quantity);

component.cpp

ItemAddResult Component::TryAddItem_Internal(class Item* Item)
{
    Items.Add(Item);
    return ItemAddResult::AddedAll(Item->Quantity);
}
Tags:  ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica que no se puede acceder al miembro protegido “Quantity” que existe en la clase “Item” desde la clase “Component”. Los miembros protegidos sólo son accesibles por la propia clase o sus clases derivadas. Para acceder al miembro “Quantity”, “Component” tiene que heredar de “Item” o ser amigo de “Item”. Alternativamente, se puede crear una función pública “getter” en la clase “Item” para acceder al miembro “Quantity”.

Comments are closed.