#include <iostream>
#include <type_traits>
class A {};
class B : public A {};
class C {};
int main()
{
A *a;
B *b;
C *c;
std::cout << std::is_convertible<decltype(b), decltype(a)>::value << std::endl;
std::cout << std::is_convertible<decltype(c), decltype(a)>::value << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dHlwZV90cmFpdHM+CgpjbGFzcyBBIHt9OwoKY2xhc3MgQiA6IHB1YmxpYyBBIHt9OwoKY2xhc3MgQyB7fTsKCmludCBtYWluKCkKewoJQSAqYTsKCUIgKmI7CglDICpjOwoJCglzdGQ6OmNvdXQgPDwgc3RkOjppc19jb252ZXJ0aWJsZTxkZWNsdHlwZShiKSwgZGVjbHR5cGUoYSk+Ojp2YWx1ZSA8PCBzdGQ6OmVuZGw7CglzdGQ6OmNvdXQgPDwgc3RkOjppc19jb252ZXJ0aWJsZTxkZWNsdHlwZShjKSwgZGVjbHR5cGUoYSk+Ojp2YWx1ZSA8PCBzdGQ6OmVuZGw7CgkKCXJldHVybiAwOwp9