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(); }