On Wednesday, 6 November 2019 at 06:05:25 UTC, rikki cattermole
wrote:
On 06/11/2019 6:43 PM, OiseuKodeur wrote:
I have this
```
import std.stdio : writeln;
abstract class Foo { }
class Bar : Foo
{
float value;
this(float t_value) { value = t_value; }
}
class Baz : Foo
{
string name;
this(string t_name) { name = t_name; }
}
void main()
{
Foo foo = new Bar(10);
if (/* typeof foo == Bar */)
if (Bar bar = cast(Bar)foo)
bar.value.writeln;
foo.value.writeln;
else if (/* typeof foo == Baz */)
else if (Baz baz = cast(Baz)foo)
baz.name.writeln;
foo.name.writeln;
foo.writeln;
}
```
I don't understand how i can differentiate between Bar and Baz
and to get their attributes
thanks a lot