#include <iostream>
class base {
virtual void time_impl()=0;
public:
void time() {
//Default behaviour
std::cout << "Hello ";
//Call overridden behaviour
time_impl();
}
};
class child : public base {
void time_impl() {
std::cout << "world\n";
}
};
int main () {
child c;
c.time();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgYmFzZSB7CiAgICAgICB2aXJ0dWFsIHZvaWQgdGltZV9pbXBsKCk9MDsKICBwdWJsaWM6CiAgICAgICB2b2lkIHRpbWUoKSB7CiAgICAgICAgICAgICAvL0RlZmF1bHQgYmVoYXZpb3VyCiAgICAgICAgICAgICBzdGQ6OmNvdXQgPDwgIkhlbGxvICI7CiAgICAgICAgICAgICAvL0NhbGwgb3ZlcnJpZGRlbiBiZWhhdmlvdXIKICAgICAgICAgICAgIHRpbWVfaW1wbCgpOwogICAgICAgfQogIH07CgogIGNsYXNzIGNoaWxkIDogcHVibGljIGJhc2UgewogICAgICAgdm9pZCB0aW1lX2ltcGwoKSB7CiAgICAgICAgICAgc3RkOjpjb3V0IDw8ICJ3b3JsZFxuIjsKICAgICAgIH0KICB9OwogIAogIGludCBtYWluICgpIHsKICAgICAgY2hpbGQgYzsKICAgICAgYy50aW1lKCk7CiAgfQ==