#include <iostream>
using namespace std;
class Interface
{
public:
Interface() = default;
virtual ~Interface() = default;
Interface(const Interface&) = delete;
Interface& operator=(const Interface&) = delete;
Interface(Interface&&) = delete;
Interface& operator=(Interface&&) = delete;
virtual void Foo() = 0;
};
class Derived : public Interface
{
public:
void Foo() override
{
cout<<"@@"<<endl;
}
};
int main() {
Interface* impl = new Derived();
impl->Foo();
// your code goes here
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjbGFzcyBJbnRlcmZhY2UKewpwdWJsaWM6CglJbnRlcmZhY2UoKSA9IGRlZmF1bHQ7Cgl2aXJ0dWFsIH5JbnRlcmZhY2UoKSA9IGRlZmF1bHQ7CglJbnRlcmZhY2UoY29uc3QgSW50ZXJmYWNlJikgPSBkZWxldGU7CglJbnRlcmZhY2UmIG9wZXJhdG9yPShjb25zdCBJbnRlcmZhY2UmKSA9IGRlbGV0ZTsKCUludGVyZmFjZShJbnRlcmZhY2UmJikgPSBkZWxldGU7CglJbnRlcmZhY2UmIG9wZXJhdG9yPShJbnRlcmZhY2UmJikgPSBkZWxldGU7CgkKCXZpcnR1YWwgdm9pZCBGb28oKSA9IDA7Cn07CmNsYXNzIERlcml2ZWQgOiBwdWJsaWMgSW50ZXJmYWNlCnsKcHVibGljOgoJdm9pZCBGb28oKSBvdmVycmlkZQoJewoJCWNvdXQ8PCJAQCI8PGVuZGw7CQoJfQp9OwppbnQgbWFpbigpIHsKCQoJSW50ZXJmYWNlKiBpbXBsID0gbmV3IERlcml2ZWQoKTsKCWltcGwtPkZvbygpOwoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJcmV0dXJuIDA7Cn0=