class.h
#include <iostream>
#include <stdint.h>
using namespace std;
template <typename T>
class CIntegerType {
 public:
    void Show ( void );
 private:
    T m_Data;
};
class.cpp
#include "class.h"
template <typename T>
void CIntegerType<T> :: Show ( void ) {
    cout << m_Data << endl;
}
main.cpp
#include "class.h"
int main ( void ) {
    CIntegerType<uint32_t> UINT32;
    UINT32 . Show ();
    return 0;
}
This commands return:
g++ -Wall -pedantic -c main.cpp
g++ -Wall -pedantic -c class.cpp
g++ -Wall -pedantic -o class.o main.o
main.o: In function `main': main.cpp:(.text+0x11): undefined reference to 'CIntegerType< unsigned int>::Show()' collect2: ld returned 1 exit status
 
     
     
    