Consider:
class A { public: virtual void update() = 0; } class B : public A { public: void update() { /* stuff goes in here... */ }
The space cost of a vtable is one pointer (modulo alignment). The table itself is not placed into each instance of the class.