bekam ich einen Code wie folgt:std :: vector mit einem Template-Argument
template<class T> void Engine::extend(std::string name) {
T *instance = new T(this);
this->newExtensions[name] = instance;
}
es in einer solchen Art und Weise genannt:
engine.extend<Menu>("menu");
Es funktioniert perfekt, aber ich möchte erstellen eine neue Instanz von T
später in meinem Code (in Hauptschleife meines Spiels), anstatt das in Engine::extend
Methode zu tun. Ist es möglich, eine Information über die Klasse beizubehalten, die in einem Vektor oder irgendeiner anderen Datenstruktur instanziiert werden soll, die über die gesamte Klasse Engine
geteilt wird, so kann ich sie später in einer anderen Methode aufrufen? Pseudo-Code von dem, was ich zu erreichen versuchen:
template<class T> void Engine::extend(std::string name) {
this->newExtensions[name] = T;
}
was "newExtensions"? –
Ich verstehe nicht ganz, was ist die Art von 'this-> newExtensions'? –
Entschuldigung, das ist eine Karte. – solusipse