On 10/21/2015 11:14 PM, DarkRiDDeR wrote:
Hello. I have a class:
abstract class Addon
{
public activate(){...}
...
}
its children:
class A: Addon {... }
class B: Addon {... }
How do I create an array of subclasses Addon? For example, one could to
do so:
T[2] addons = [new A(), new B()];
foreach(T addon; addons){
addon.activate();
}
This works:
abstract class Addon {
public void activate() {
}
}
class A: Addon {}
class B: Addon {}
void main() {
Addon[2] addons = [new A(), new B()];
}
This works too:
Addon[] addons = [new A(), new B()];
I am happy to report that even the following works with dmd 2.069.0-b2:
auto addons = [new A(), new B()];
I think the last one used to not work. Apparently now their "common
type" is inferred correctly.
Ali