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:
    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>
