前の日 / 次の日 / 最新 / 2008-07

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

2008-07-02 Wed

昨日のを普通に書いてみた [D言語]

昨日のは、無理やりすぎた。
普通に書いてみた。

class HelloWorld
{
    void say()
    {
        writefln("Hello, World!!");
    }
}

template OpNewCreator(T)
{
    T Create()
    {
        return new T();
    }
}

class HelloWorldManager(alias T)
{
    alias T.Create Create;
}

class HelloWorldManager2(alias T)
{
    alias T!(HelloWorld).Create Create;
}

class HelloWorldManager3(alias T = OpNewCreator)
{
    alias T!(HelloWorld).Create Create;
}

void main()
{
    HelloWorldManager!(OpNewCreator!(HelloWorld)) hc;
    auto h = hc.Create();
    h.say();

    HelloWorldManager2!(OpNewCreator) hc2;
    auto h2 = hc2.Create();
    h2.say();

    HelloWorldManager3!() hc3;
    auto h3 = hc3.Create();
    h3.say();
}

[2008-07-01-1]