...ing logging 4.0

はてなブログに移行しました。D言語の話とかいろいろ。

VS2003

VS2003で,こんな構造のプログラムを書いた.


class A
{
public:
virtual void run()
{
puts("A::run()");
}
};

class B : public A
{
public:
virtual void run()
{
puts("B::run()");
}
};

class C : public B
{
};

int main(int argc, char* argv)
{
A* a = new A;
A* b = new B;
A* c = new C;
a->run();
b->run();
c->run();

return 0;
}

そしたら,なぜか出力が


A::run()
B::run()
A::run()

となった.
・・・・ええぇぇぇぇ!? なんでやねん.
そして,リビルドしたら直った・・・.
いやいやいやいや.
勘弁してください(TT