#include <iostream>
class A
{
int a;
public:
A() : a(0) {}
int get() { return a; }
template<typename T>
void function() {}
};
struct dummy {};
template<>
void A::function<dummy>()
{
a = 500;
}
int main()
{
A a;
std::cout << a.get() << std::endl;
a.function<dummy>();
std::cout << a.get() << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgQQp7CiAgICBpbnQgYTsKcHVibGljOgogICAgQSgpIDogYSgwKSB7fQogICAgaW50IGdldCgpIHsgcmV0dXJuIGE7IH0KICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiAgICB2b2lkIGZ1bmN0aW9uKCkge30KfTsKCnN0cnVjdCBkdW1teSB7fTsKCnRlbXBsYXRlPD4Kdm9pZCBBOjpmdW5jdGlvbjxkdW1teT4oKQp7CiAgICBhID0gNTAwOwp9CgppbnQgbWFpbigpCnsKICAgIEEgYTsKICAgIHN0ZDo6Y291dCA8PCBhLmdldCgpIDw8IHN0ZDo6ZW5kbDsKICAgIGEuZnVuY3Rpb248ZHVtbXk+KCk7CiAgICBzdGQ6OmNvdXQgPDwgYS5nZXQoKSA8PCBzdGQ6OmVuZGw7Cn0=