digitalmars.D - Which template is recommended.
- sclytrack (38/38) May 27 2012 Below there are two routines with the same name.
- =?ISO-8859-1?Q?Alex_R=F8nne_Petersen?= (6/43) May 27 2012 --
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();
}
void routine(T) (T a) if (is(T:ITest))
{
a.first();
}
int main()
{
routine(new Test());
return 0;
}
-----------------------
The above example prints out first.
May 27 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 lycus.org http://lycus.org
May 27 2012








=?ISO-8859-1?Q?Alex_R=F8nne_Petersen?= <alex lycus.org>