The only time something like this would be useful would be in some kind of template, which I doubt you're asking about.
The user input is going to be whatever format you specify. In this case... whatever type your 'age' variable is, that's what type the user input will be.
1 2 3 4
int age; // age will ALWAYS be an int. Regardless of what the user inputs
if( age_is_an_int ) // an if statement like this would be worthless, because
// it would always be true. 'age' is always going to be an int no matter what.
Types are fixed at compile time. If you wrote int x;
then the type of x is int forever.
validation that verifies if user has input a char or int or string.
A user can only input an int into a variable of type int. Non-numeric chars and strings will be rejected by the I/O code (cin >> or scanf or whatever you're using) - the invalid input will remain unprocessed, at which time you can try reading them into a string (strings accept all input). Or you could read into a string at first, and then examine its contents to see if an int can be made from them.