Accessing derived class members with a base class pointer
<p>I am making a simple console game in C++</p>

<p>I would like to know if I can access members from the 'entPlayer' class while using a pointer that is pointing to the base class ( 'Entity' ):</p>

<pre><code>class Entity {

public:
    void setId(int id) {

        Id = id;

    }

    int getId() { return Id; }

protected:
    int Id;

};

class entPlayer : public Entity {

    string Name;

public:
    entPlayer() {

        Name = "";
        Id = 0;

    }

    void setName(string name) {

        Name = name;

    }

    string getName() { return Name; }

};

Entity *createEntity(string Type) {

    Entity *Ent = NULL;

    if (Type == "player") {

        Ent = new entPlayer;

    }

    return Ent;

}

void main() {

    Entity *ply = createEntity("player");
    ply-&gt;setName("Test");
    ply-&gt;setId(1);

    cout &lt;&lt; ply-&gt;getName() &lt;&lt; endl;
    cout &lt;&lt; ply-&gt;getId() &lt;&lt; endl;

    delete ply;

}
</code></pre>

<p>How would I be able to call ply->setName etc?</p>

<p>OR</p>

<p>If it's not possible that way, what would be a better way?</p>
