#include <iostream>
usingnamespace std;
class Base
{
public:
// believe the compiler: need pure or non-pure virtual here
virtualvoid runme() { cerr << "Base" << endl; }
};
class Derived : public Base
{
public:
// virtual here is optional: I like to put it in for clarity
virtualvoid runme() { cerr << "Derived" << endl; }
};
int main()
{
Base *p = new Derived; // get rid of parens
p->runme();
return 0;
}