D - ctor cannot be private?
- =?iso-8859-1?Q?Miguel_Ferreira_Sim=F5es?= (24/24) Mar 27 2004 charset="iso-8859-1"
- J Anderson (7/31) Mar 27 2004 In D a method (or constructor) inherits the same visibility as the
- =?iso-8859-1?Q?Miguel_Ferreira_Sim=F5es?= (12/12) Mar 28 2004 charset="iso-8859-1"
charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable i cannot understand why i can construct class mike from an outside = module. the ctor is made private to turn impossible to construct it... but = unexpectdly i can construct it!? why? code example: class mike : Singleton!(mike) { private:=20 this() { printf("this should be impossible to execute from outside\n"); } ~this() { } public: void func() {=20 printf("mike: func\n"); } } thanks, Miguel Ferreira Sim=F5es
Mar 27 2004
Miguel Ferreira Simões wrote:i cannot understand why i can construct class mike from an outside module. the ctor is made private to turn impossible to construct it... but unexpectdly i can construct it!? why? code example: class mike : Singleton!(mike) { private: this() { printf("this should be impossible to execute from outside\n"); } ~this() { } public: void func() { printf("mike: func\n"); } } thanks, Miguel Ferreira SimõesIn D a method (or constructor) inherits the same visibility as the method it is overloading and you can't change it. Therefore, I think its got something to do with object's default constructor. Anyway it's a design issue you'll need to take up with Walter. -- -Anderson: http://badmama.com.au/~anderson/
Mar 27 2004
charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable thanks... for the answer! but that seems a little bit weird, because if all the classes are = derived from the Object class and all them have a constructor, that means that it is always possible to = construct a class, even if the designer=20 does not want to. are you sure that it works the way you described? = walter... join the thread.=20 ps: i want a private constructor!!!! best regards, Miguel Ferreira Sim=F5es
Mar 28 2004