#include <iostream>
#include <string>
struct A
{
A()
{
std::cout << "Debug Info: " << getResource() << std::endl;
}
virtual std::string getResource()
{
return "A's resource";
}
};
struct B : A
{
virtual std::string getResource() override
{
return res;
}
private:
std::string res = "B's resource";
};
int main()
{
(B());
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgoKc3RydWN0IEEKewoJQSgpCgl7CgkJc3RkOjpjb3V0IDw8ICJEZWJ1ZyBJbmZvOiAiIDw8IGdldFJlc291cmNlKCkgPDwgc3RkOjplbmRsOwoJfQoJdmlydHVhbCBzdGQ6OnN0cmluZyBnZXRSZXNvdXJjZSgpCgl7CgkJcmV0dXJuICJBJ3MgcmVzb3VyY2UiOwoJfQp9OwoKc3RydWN0IEIgOiBBCnsKCXZpcnR1YWwgc3RkOjpzdHJpbmcgZ2V0UmVzb3VyY2UoKSBvdmVycmlkZQoJewoJCXJldHVybiByZXM7Cgl9CnByaXZhdGU6CglzdGQ6OnN0cmluZyByZXMgPSAiQidzIHJlc291cmNlIjsKfTsKCmludCBtYWluKCkKewoJKEIoKSk7Cn0K