// Program Name: Template_9LbX1.exe // Author: Tyler Travis, Eruption Software // www.travis-usa.com // Date: 3/19/00 //This program creates a Student Class Array, //inputs data, and displays the student's data. #include template class AllDataTypes { private: T var1; T var2; T var3; public: AllDataTypes();//constructor to assign default values char get_data(T x); void calc_data(char o); int letter_conv(char o); void display_data(char o, char z); char exit(); }; void main() { AllDataTypes instanceI; AllDataTypes instanceD; AllDataTypes instanceC; int a = 1; double b = 2.0; char answer = 'y', op = '+', c = 3, d = 4; cout<<""< AllDataTypes::AllDataTypes() // constructor { AllDataTypes::var1 = 0; AllDataTypes::var2 = 0; AllDataTypes::var3 = 0; } template char AllDataTypes::get_data(T x) { char numType; char *ptrNum = &numType; char op = '+'; if (x == 1) ptrNum = "Integer"; else if (x == 2) ptrNum = "Decimal"; else ptrNum = "Letter"; cout<<" Type the first "<: "; cin>>AllDataTypes::var1; cout<<" Type an Operator (+, -, *, /), then press : "; cin>>op; cout<<" Type the second "<: "; cin>>AllDataTypes::var2; return op; } template void AllDataTypes::calc_data(char o) { switch (o) { case '+': var3 = var1 + var2; break; case '-': var3 = var1 - var2; break; case '*': var3 = var1 * var2; break; case '/': var3 = var1 / var2; break; } } template void AllDataTypes::display_data(char o, char z) { double conv = 0.0, cv1 = 0.0, cv2 = 0.0; cv1 = var1; cv2 = var2; cout<<" "< int AllDataTypes::letter_conv(char o) { double conv1 = 0.0, conv2 = 0.0, conv3 = 0.0; conv1 = var1; conv2 = var2; switch (o) { case '+': conv3 = conv1 + conv2; break; case '-': conv3 = conv1 - conv2; break; case '*': conv3 = conv1 * conv2; break; case '/': conv3 = conv1 / conv2; break; } return conv3; } template char AllDataTypes::exit() { char ans; cout<<""<>ans; cin.get(); return(ans); }