view test/classes4.d @ 6:35d93ce68cf4 trunk

[svn r10] Updated for LLVM rev. 20070913 Applied fixes from wilsonk on the forum Some tweaks to work with gc 7.0 Fixed aggregate members of aggregates Fixed cyclic/recursive class declarations Other minor tweaks
author lindquist
date Wed, 26 Sep 2007 19:05:18 +0200
parents c53b6e3fe49a
children d9d5d59873d8
line wrap: on
line source

class A
{
    int i = 42;
    double df = 3.1415;
    this()
    {
    }
    char[] toString()
    {
        return "A:Object";
    }
}

class B : A
{
    ubyte b;
    char[] toString()
    {
        return "B:A";
    }
}

void main()
{
    scope a = new A;
    char[] as = a.toString;
    {printf("a.toString = '%.*s'\n", as.length, as.ptr);}

    Object o = a;
    char[] os = o.toString;
    {printf("o.toString = '%.*s'\n", os.length, os.ptr);}

    scope b = new B;
    char[] bs = b.toString;
    {printf("b.toString = '%.*s'\n", bs.length, bs.ptr);}
}