class A { public: virtual void foo() = 0; }; void A::foo() {} class B: public class A {}; B b; b.foo();
There was an old Herb Sutter GotW about this: http://www.gotw.ca/gotw/031.htm