> Technically speaking, there is no dereference of null occurring there. It > *looks* like there is because of the "foo.bar" notation, but remember, > calling a member function is not really dereferencing. It's just sugar > for: > > foo.vtable[index_of_bar](foo); > But usually there's an class invariant.