#include <iostream>

template <typename T>
struct C
{
    void g() {
        std::cout << "Common g" << std::endl;
    }

    void f() {
        std::cout << "Common f" << std::endl;
    }
};

template <>
void C<int>::f() {
    std::cout << "f for int" << std::endl;
}

int
main(void)
{
    C<int> c;
    c.f();
    c.g();
    return 0;
}