Thread overview | |||||
---|---|---|---|---|---|
|
June 26, 2015 how do I create an array of objects as member of class? | ||||
---|---|---|---|---|
| ||||
Imaginary code: class Foo { } class Baa { Foo a = new Foo(); Foo b = new Foo(); Foo[] l = [a,b]; } What should I use instead of to it work? Array!Foo(a,b) didn't worked either. I know this works: class Baa { Foo a = new Foo(); Foo b = new Foo(); Foo[] l; this() { l = [a,b]; } But I'd like to initializa it at declaration time |
June 26, 2015 Re: how do I create an array of objects as member of class? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Assembly | On Friday, 26 June 2015 at 21:50:30 UTC, Assembly wrote: > class Baa { > Foo a = new Foo(); > Foo b = new Foo(); > Foo[] l = [a,b]; Keep in mind that those instances are *static* and probably not what you expect; modifying a will be seen across all instances of Baa unless you actually assign it to a new member. > I know this works: Doing it in the constructor is really the best way. |
June 29, 2015 Re: how do I create an array of objects as member of class? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Adam D. Ruppe | On Friday, 26 June 2015 at 22:14:56 UTC, Adam D. Ruppe wrote: > On Friday, 26 June 2015 at 21:50:30 UTC, Assembly wrote: >> class Baa { >> Foo a = new Foo(); >> Foo b = new Foo(); >> Foo[] l = [a,b]; I wasn't aware about this. I'm used to have static only when I request so, like using static keyword in each member that must be static. Gonna move it to the constructor. > Keep in mind that those instances are *static* and probably not what you expect; modifying a will be seen across all instances of Baa unless you actually assign it to a new member. > >> I know this works: > > Doing it in the constructor is really the best way. Gonna do so, thanks |
Copyright © 1999-2021 by the D Language Foundation