#include <iostream>
void func(int) { std::cout << "func(int)" << std::endl; }
void func(std::string) { std::cout << "func(std::string)" << std::endl; }
struct A
{
A()
{
std::cout << "A::A()" << std::endl;
func(1);
std::cout << "End of A::A()" << std::endl;
}
void func(int) { std::cout << "A::func(int)" << std::endl; }
void func(std::string) { std::cout << "A::func(std::string)" << std::endl; }
};
int main(int argc, char const *argv[])
{
A a;
a.func(1);
a.func("1");
func(1);
func("1");
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdm9pZCBmdW5jKGludCkgeyBzdGQ6OmNvdXQgPDwgImZ1bmMoaW50KSIgPDwgc3RkOjplbmRsOyB9CnZvaWQgZnVuYyhzdGQ6OnN0cmluZykgeyBzdGQ6OmNvdXQgPDwgImZ1bmMoc3RkOjpzdHJpbmcpIiA8PCBzdGQ6OmVuZGw7IH0KCnN0cnVjdCBBCnsKCUEoKSAKCXsgCgkJc3RkOjpjb3V0IDw8ICJBOjpBKCkiIDw8IHN0ZDo6ZW5kbDsgCgkJZnVuYygxKTsKCQlzdGQ6OmNvdXQgPDwgIkVuZCBvZiBBOjpBKCkiIDw8IHN0ZDo6ZW5kbDsgCgl9Cgl2b2lkIGZ1bmMoaW50KSB7IHN0ZDo6Y291dCA8PCAiQTo6ZnVuYyhpbnQpIiA8PCBzdGQ6OmVuZGw7IH0KCXZvaWQgZnVuYyhzdGQ6OnN0cmluZykgeyBzdGQ6OmNvdXQgPDwgIkE6OmZ1bmMoc3RkOjpzdHJpbmcpIiA8PCBzdGQ6OmVuZGw7IH0JCn07CgppbnQgbWFpbihpbnQgYXJnYywgY2hhciBjb25zdCAqYXJndltdKQp7CglBIGE7CglhLmZ1bmMoMSk7CglhLmZ1bmMoIjEiKTsKCWZ1bmMoMSk7CglmdW5jKCIxIik7CglyZXR1cm4gMDsKfQ==