digitalmars.D.learn - Delegating constructor and call to super
- =?iso-8859-1?Q?Robert_M._M=FCnch?= (19/19) Jul 02 2018 class A {
- Mike Parker (7/12) Jul 02 2018 class B {
class A { this(){...} this(int a) {...} this int a, int b){...} } class B { this(){... init some stuff for B ...} this(int a){super(a); this();} } Error: multiple constructor calls I think it's because of "If a constructor's code contains a delegate constructor call, all possible execution paths through the constructor must make exactly one delegate constructor call" But, how am I supposed to call the super(int) consturctor and put my common initialization code into a delegating constructor? -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Jul 02 2018
On Monday, 2 July 2018 at 09:42:36 UTC, Robert M. Münch wrote:I think it's because of "If a constructor's code contains a delegate constructor call, all possible execution paths through the constructor must make exactly one delegate constructor call" But, how am I supposed to call the super(int) consturctor and put my common initialization code into a delegating constructor?class B { this(){ initialize(); } this(int a){super(a); initialize(); } private void initialize() { ... init some stuff for B ... } }
Jul 02 2018