構文
/// abstract code abstract class IFoo { private: uint value; public: void set(uint value); uint get(); } class IHoge : IFoo { public: this(uint value) { this.set(value); } void set(uint value) { super.value = value; } uint get() { return super.value; } } uint func(IHoge hoge) { return hoge.get(); } int main(char[][] args) { // auto hoge = new IHoge(10); printf("%d\n", func(new IHoge(10))); return 0; }
そうか、こういう構文でも書けるんだね。
funcがIHogeのインスタンスを受け取るんだから、そりゃそうだよな。
printf("%d\n", new IHoge(10).get());
とは書けないか・・・
追記:うっはwwwwww
printf("%d\n", (new IHoge(10)).get());
とは書けるぞwwwwwww
そうか、インスタンスのアドレスに対して、get()メソッドを使ってるようなもんだよな。
というか、内部ではこうなってるんじゃん。