ich die Instanzklasse zu einem Zeiger zuweisen versuchen, wie kann ich das tun:Wie assign „das“ Objekt zu einem statischen Klasse Zeiger
#include <fstream>
using namespace std;
class A
{
private:
static A *pointer;
protected:
A(){}
A GetInstance()
{
//On this point throw the error: could not convert A::pointer’ from A*’ to ‘A’
pointer& = (A)this;
return pointer;
}
};
A *A::pointer = NULL;
Wie kann ich das tun?
static A *pointer;
...
...
pointer& = (A)this;
Ist es möglich? Ich versuche, eine einfache Repository-Klasse mit einer eindeutigen Verbindung instanziiert (nur einmal) und das Klassenrepository mit den Funktionen virtuals (Add, Save, GetById, GetAll()) erben von dieser Klasse, auf diese Weise könnte ich erstellen Viele Repository-Klassen verwenden nur die Verbindung, ohne jedes Mal zu öffnen und zu schließen. Wenn jemand ein Beispiel hat, würde ich mich freuen.
Danke in fortgeschrittenem.
Nein, 'Zeiger & = (A) dies;' ist ungültig grammer. Was ist "weisen Sie die Instanzklasse einem Zeiger zu"? Meinst du '* pointer = * this;'? – MikeCAT
Was ist mit der zusätzlichen Interpunktion und Casting? 'pointer = this;' - vielleicht sollten Sie einige bewährte Singleton-Implementierungen zuerst nachschlagen – BeyelerStudios
@BeyelerStudios Die beste, industrietaugliche Singleton-Implementierung ist "tun Sie es nicht". Dieser Code hat einen schrecklichen Code-Geruch. –