Which template is recommended.

Alex Rønne Petersen alex at lycus.org
Sun May 27 02:45:52 PDT 2012


On 27-05-2012 11:43, sclytrack wrote:
>
> Below there are two routines with the same name.
> Apparently both can be present at the same time.
>
> Which one of the two is the recommended code?
>
>
>
> import std.stdio;
>
> interface ITest
> {
> int first();
> int second();
> }
>
> class Test: ITest
> {
> int first()
> {
> writeln("first");
> return 1;
> }
>
> int second()
> {
> writeln("second");
> return 2;
> }
> }
>
> void routine(T:ITest) (T a)
> {
> a.second();
> }

I would use this. It is much clearer.

>
> void routine(T) (T a) if (is(T:ITest))
> {
> a.first();
> }
>
> int main()
> {
> routine(new Test());
> return 0;
> }
>
>
> -----------------------
> The above example prints out first.

-- 
Alex Rønne Petersen
alex at lycus.org
http://lycus.org


More information about the Digitalmars-d mailing list