Generic C++

#include 
using namespace std;
template  class input {
  X data;
public:
  input(char *s, X min, X max);
  
};
template  
input::input(char *s, X min, X max)
{
  do {
    cout << s << ": ";
    cin >> data;
  } while( data < min || data > max);
}
int main()
{
  input i("enter int", 0, 10);
  input c("enter char", 'A', 'Z');
  return 0;
}