, "Bu" nesne nasıl yapabilirim:nasıl atama Ben bir işaretçi örneği sınıfını atamak çalışıyorum statik sınıf pointer
#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;
Bunu nasıl yapabilirim?
static A *pointer;
...
...
pointer& = (A)this;
Mümkün mü? Bu sınıftan devraldığı benzersiz bir bağlantı (yalnızca bir kez) ve sanal havuzları (Add, Save, GetById, GetAll()) sınıf sınıf deposu ile basit bir depo sınıfı oluşturmaya çalışıyorum. Her zaman açık ve kapalı olmadan sadece bağlantı kullanarak Havuz sınıfları çok. Birisi bir örnek varsa, ben memnun olurum.
Gelişmiş teşekkürler.
Hayır, 'işaretçi = = (A); bu, geçersiz dilbilgidir. "Örnek sınıfını bir işaretçiye atayın" nedir? Demek istiyorsun * * pointer = * this; '? – MikeCAT
Tüm ekstra noktalama işaretleri ve döküm ile neler var? 'pointer = this;' - belki de kanıtlanmış tekil uygulamaların ilkini incelemeniz gerekebilir. – BeyelerStudios
@BeyelerStudios En iyi, endüstriyel dayanıklılıklı tekton uygulaması "yapmayın". Bu kodda korkunç bir kod kokusu var. –