#include <iostream>
#include <iomanip>
using namespace std;
class Test {
public:
Test(int x = 0):val_(x){ cout << "Test(" << x << ")\n"; }
~Test() { cout << "~Test(" << val_ <<")\n"; }
operator int() const { cout << "Test::operator int(" << val_ <<")\n"; return val_; }
operator bool() const { cout << "Test::operator bool(" << val_ <<")\n"; return val_; }
private:
int val_ = 0;
};
int main(int argc, const char * argv[])
{
Test t(5);
if (t)
{
cout << "true\n";
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpjbGFzcyBUZXN0IHsKcHVibGljOgogICAgVGVzdChpbnQgeCA9IDApOnZhbF8oeCl7IGNvdXQgPDwgIlRlc3QoIiA8PCB4IDw8ICIpXG4iOyB9CiAgICB+VGVzdCgpICAgICAgICAgICB7IGNvdXQgPDwgIn5UZXN0KCIgPDwgdmFsXyA8PCIpXG4iOyB9CgogICAgb3BlcmF0b3IgaW50KCkgY29uc3QgeyBjb3V0IDw8ICJUZXN0OjpvcGVyYXRvciBpbnQoIiA8PCB2YWxfIDw8IilcbiI7IHJldHVybiB2YWxfOyB9CiAgICBvcGVyYXRvciBib29sKCkgY29uc3QgeyBjb3V0IDw8ICJUZXN0OjpvcGVyYXRvciBib29sKCIgPDwgdmFsXyA8PCIpXG4iOyByZXR1cm4gdmFsXzsgfQoKcHJpdmF0ZToKICAgIGludCB2YWxfID0gMDsKfTsKCgppbnQgbWFpbihpbnQgYXJnYywgY29uc3QgY2hhciAqIGFyZ3ZbXSkKewogICAgVGVzdCB0KDUpOwogICAgaWYgKHQpCiAgICB7CiAgICAgICAgY291dCA8PCAidHJ1ZVxuIjsKICAgIH0KfQoK