Difference between template and mixin template
Just Dave
abcdef at 1234.com
Thu Oct 10 15:59:58 UTC 2019
On Thursday, 10 October 2019 at 15:56:36 UTC, Just Dave wrote:
> I'm trying to get my head around mixing templates. I'm using it
> as kind of a replacement for class inheritance as it seems to
> fit better composition over inheritance. So I do something like:
>
> mixin template NumberTemplate()
> {
> private:
> int number = 0;
> public:
> int getNumber(int number)
> {
> return number;
> }
> }
>
> interface INumber
> {
> getNumber(int number);
> }
>
> class Number : INumber
> {
> template NumberTemplate;
> };
>
> So two questions:
>
> a) Is this correct usage?
>
> b) It compiles if I just do:
>
> template NumberTemplate()
> {
> private:
> int number = 0;
> public:
> int getNumber(int number)
> {
> return number;
> }
> }
>
> what is the difference between template and mixin template?
Sorry I messed up the above code example the following should
look like:
class Number : INumber
{
mixin NumberTemplate;
};
More information about the Digitalmars-d-learn
mailing list