Ich bin ein einfaches Konsolenspiel in C machen ++Zugriff auf abgeleitete Klassen Mitglieder mit einer Basisklasse Zeiger
würde ich gerne wissen, ob ich Mitglieder aus der ‚entPlayer‘ Klasse zugreifen kann, während einen Zeiger verwenden, die auf das Verzeichnis ist Basisklasse ('Entity'):
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->setName("Test");
ply->setId(1);
cout << ply->getName() << endl;
cout << ply->getId() << endl;
delete ply;
}
Wie würde ich in der Lage sein ply- nennen> setName etc?
ODER
Wenn es nicht möglich, auf diese Weise, was wäre ein besserer Weg?
Entschuldigung, ich musste Ihre Codeformatierung bearbeiten. Die leeren Zeilen haben deinen Code wirklich groß gemacht! Noch ein kleiner Kommentar zu deinem Code: halte dich an eine konsistente Namenskonvention, z. AllClassNamesLikeThis und parameter_names_like_this. Noch eine Nite: Sie werden sich später mit Abkürzungen wie "ent" in den Hintern treten. Ich kann ehrlich nicht sagen, was ein EntPlayer sein soll. Ich denke, was du meinst, ist nur "Spieler", oder wenn du dich "PlayerEntity" fühlst. – allyourcode