#include <iostream>
using namespace std;
class thing1
{
public:
virtual void thingTest()
{
cout << "I AM THING 1\n";
}
};
class thing2: public thing1
{
public:
virtual void thingTest()
{
cout << "I AM THING 2\n";
}
};
void DoStuff( thing1& temp )
{
temp.thingTest();
}
int main()
{
thing2 thing;
DoStuff( thing );
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgdGhpbmcxCnsKcHVibGljOgogICAgdmlydHVhbCB2b2lkIHRoaW5nVGVzdCgpCiAgICB7CiAgICAgICAgY291dCA8PCAiSSBBTSBUSElORyAxXG4iOwogICAgfQp9OwoKY2xhc3MgdGhpbmcyOiBwdWJsaWMgdGhpbmcxCnsKcHVibGljOgogICAgdmlydHVhbCB2b2lkIHRoaW5nVGVzdCgpCiAgICB7CiAgICAgICAgY291dCA8PCAiSSBBTSBUSElORyAyXG4iOwogICAgfQp9OwoKdm9pZCBEb1N0dWZmKCB0aGluZzEmIHRlbXAgKQp7CiAgICB0ZW1wLnRoaW5nVGVzdCgpOwp9CgoKaW50IG1haW4oKQp7CiAgICB0aGluZzIgdGhpbmc7CiAgICBEb1N0dWZmKCB0aGluZyApOwp9Cgo=