How do I extend a class that's inside a template in D?
template A {
abstract class B {}
}
class C : B {}
How so I extend B, from outside A?
Your code doesn't compile, you need to specify template arguments.
a.d:3: parenthesized TemplateParameterList expected following TemplateIdentifier
I'm not sure if you want C
to be a template too.
The following outputs 0
.
import std.stdio;
template A(T) {
abstract class B {
public T f() {
return T.init;
}
}
}
class C : A!(int).B {}
int main() {
writeln((new C()).f());
return 0;
}