Of course you can over-ride cin, but I haven't tried that yet...but look:
Code:
class my_cin {
public:
char buffer[10000];
int operator >> (int num) {
return num = atoi(fgets(buffer, 10000, stdin));
}
float operator >> (float num) {
return num = atof(fgets(buffer, 10000, stdin));
}
long operator >> (long num) {
return num = atol(fgets(buffer, 10000, stdin));
}
double operator >> (double num) {
return num = atod(fgets(buffer, 10000, stdin));
}
char operator >> (char c) {
return c = getch();
}
char * operator >> (char str[]) {
return fgets(str, 10000, stdin);
}
char * get( char str[], int max ) {
return fgets(str, max, stdin);
}
};
Now declare a global input object (like cin)...
my_cin inn;
int main() {
char c;
int i;
double d;
char string[100];
inn >> string;
inn >> d;
//...or even:
char ch = inn >> c; //...get c, and also assign value to ch.
return 0;
}