Double indirection in C++ vtables

I wrote this very simple C++ program, and I was wondering about why the compiler lays out the vtable across two pointer dereferences. Here's the C++ program: class Foo { public: virtual void ba...