class Wizard
{
friend class Harry;
private:
class LordVoldemort
{
void avada_kedavra()
{
// scary stuff
}
};
public:
using HeWhoMustNotBeNamed = LordVoldemort;
};
class Harry : Wizard
{
public:
Wizard::LordVoldemort;
};
int main()
{
Wizard::HeWhoMustNotBeNamed tom; // OK
// Wizard::LordVoldemort not_allowed; // Not OK
Harry::LordVoldemort im_not_scared; // OK
return 0;
}
Y2xhc3MgV2l6YXJkCnsKCWZyaWVuZCBjbGFzcyBIYXJyeTsKcHJpdmF0ZToKICAgIGNsYXNzIExvcmRWb2xkZW1vcnQKICAgIHsKICAgICAgICB2b2lkIGF2YWRhX2tlZGF2cmEoKQogICAgICAgIHsKICAgICAgICAgICAgLy8gc2Nhcnkgc3R1ZmYKICAgICAgICB9CiAgICB9OwpwdWJsaWM6CiAgICB1c2luZyBIZVdob011c3ROb3RCZU5hbWVkID0gTG9yZFZvbGRlbW9ydDsKfTsKCmNsYXNzIEhhcnJ5IDogV2l6YXJkCnsKcHVibGljOgoJV2l6YXJkOjpMb3JkVm9sZGVtb3J0Owp9OwoKaW50IG1haW4oKQp7CiAgICBXaXphcmQ6OkhlV2hvTXVzdE5vdEJlTmFtZWQgdG9tOyAvLyBPSwogICAgLy8gV2l6YXJkOjpMb3JkVm9sZGVtb3J0IG5vdF9hbGxvd2VkOyAvLyBOb3QgT0sKICAgIEhhcnJ5OjpMb3JkVm9sZGVtb3J0IGltX25vdF9zY2FyZWQ7IC8vIE9LCiAgICByZXR1cm4gMDsKfQo=