Templated interface
DF
deefriend at yahoo.com
Tue Oct 14 14:51:55 PDT 2008
Simen Kjaeraas Wrote:
> On Tue, 14 Oct 2008 23:41:57 +0200, DF <deefriend at yahoo.com> wrote:
>
> > Is it possible to create templated interfaces in D? And if possible than
> > can anyone provide some good example on templated interface.
>
> interface foo(T)
> {
> T property();
> T property(T value);
> }
>
> class bar : foo!(int)
> {
> int data;
>
> int property()
> {
> return data;
> }
>
> int property(int value)
> {
> return data = value;
> }
> }
>
> void main()
> {
> bar b = new bar;
>
> b.property = 4;
>
> writefln(b.property);
> }
>
> --
> Simen
Thanx, Simen! I've made the solution myself. Maybe if anyone is interested I can post it. Though your sampe is good, I've got more complicated thing:
interface Stack(T) {
void push(T element);
T pop();
int isEmpty();
}
class StackImpl(T) : Stack!(T) {
private T[] data;
this() {
}
public void push(T element) {
...
}
public T pop() {
...
}
public int isEmpty() {
...
}
}
void main() {
Stack!(char) data = new StackImpl!(char)();
}
Seems to work... :)
More information about the Digitalmars-d
mailing list