Use class template as a type

dm via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Nov 28 03:26:41 PST 2016


Hi.
Is it possible to write in D something like this?

```
abstract class MyClass(T)
{
   public:
    @property const(T) value(){return _value;}
    @property void value(T val){_value = val;}
...
   private:
    T _value;
...
}
...
class MyClassFloat: MyClass!float
...

class MyClassInt: MyClass!int
...

void main()
{
   MyClass[] someArray;
   someArray ~= new MyClassFloat();
...

   someArray ~= new MyClassInt();
...

   foreach(myClass; someArray)
    if(typeid(myClass) == typeid(MyClassInt))
     myClass.value = 999;
    else
     myClass.value = 123.45f;
...

}
```
When I trying to compile code like above I got
Error: class MyClass(T) is used as a type.



More information about the Digitalmars-d-learn mailing list