Inherit from class based on bool value

Bienlein jeti789 at web.de
Thu Nov 15 08:46:36 UTC 2018


On Tuesday, 13 November 2018 at 07:10:26 UTC, Jamie wrote:
> I would like my class to inherit from one of two classes based 
> on a boolean value known at compile time. Something like this:
>
> void main()
> {
>     Top!(OPTION.FALSE) top = new Top!(OPTION.FALSE);
> }
>
> enum OPTION
> {
>     FALSE = 0.,
>     TRUE = 1.
> }
>
> class One
> {}
>
> class Two
> {}
>
> class Top(OPTION option) : option ? One : Two
> {}
>
> Is this possible? I can't get it to work in the way I'm showing 
> above.
> Cheers

My piece of advice would be not to do this but to model all data 
explicitly. And I had some exposure to OOP with over 10 years 
developing in Smalltalk, which is a pure OO language. Actually, I 
don't know whether it is good that this can be done in D ...


More information about the Digitalmars-d-learn mailing list