class B;
class A
{
protected:
int a;
public:
operator B*()
{
throw("Bad Type Overload");
}
};
class B:public A
{
protected:
int b;
};
int main()
{
A *a = new A();
B *b;
b=(B*)a;
return 0;
}
Y2xhc3MgQjsKCmNsYXNzIEEKewogICAgcHJvdGVjdGVkOgogICAgICAgIGludCBhOwogICAgcHVibGljOgogICAgICAgIG9wZXJhdG9yIEIqKCkKICAgICAgICB7CiAgICAgICAgICAgIHRocm93KCJCYWQgVHlwZSBPdmVybG9hZCIpOwogICAgICAgIH0KfTsKY2xhc3MgQjpwdWJsaWMgQQp7CiBwcm90ZWN0ZWQ6CiAgICBpbnQgYjsKfTsKaW50IG1haW4oKQp7CiAgICBBICphID0gbmV3IEEoKTsKICAgIEIgKmI7CiAgICBiPShCKilhOwogICAgcmV0dXJuIDA7Cn0=