class classA { public: virtual void test() = 0; }; class classB : public classA { public: void test() { //cout << "blah"; } }; void tester(classA* object) { object->test(); }; int main() { classB* blah; tester(blah); return 0; }