May 31, 2004 private ctor | ||||
|---|---|---|---|---|
| ||||
I decided to do a singleton class (see code)... but i found that i could not
hide the ctor of the singleton derived classes.
Is there anyway to make it private? IMHO only this way the singleton class
makes sense.
class Singleton(T){
public:
static T handle(){
if (_instance === null){
synchronized {
if(!_handle) _handle = new T();
}
}
return _handle;
}
private:
this() {}
static T _handle;
};
| ||||
May 31, 2004 Re: private ctor | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Miguel Ferreira Simões | Private apparently does not yet apply to constructors, but let's hope Walter will change that.
Additionally, you might consider using a static constructor for the initialization:
static this()
{
_handle = new T();
}
... which is perhaps a better way to avoid race conditions.
- Kris
"Miguel Ferreira Simões" <kobold@netcabo.pt> wrote in message news:c9fv3u$16hf$1@digitaldaemon.com...
> I decided to do a singleton class (see code)... but i found that i could
not
> hide the ctor of the singleton derived classes.
> Is there anyway to make it private? IMHO only this way the singleton class
> makes sense.
>
> class Singleton(T){
> public:
> static T handle(){
> if (_instance === null){
> synchronized {
> if(!_handle) _handle = new T();
> }
> }
> return _handle;
> }
>
> private:
> this() {}
> static T _handle;
> };
>
>
| |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply