question archive Consider a class named Calculator that contains · Two data members i
Subject:Computer SciencePrice:3.87 Bought7
Consider a class named Calculator that contains
· Two data members i.e. num1 and num2
Make the class Calculator into a template and in this way, a user would be able to instantiate it using different data types for the data members. In the main function, instantiate two objects of Calculator class with data members of type integer and float, respectively and invoke all functions of class Calculator.
Please create program in c++. and kindly add comments in program so i can understand it
Answer: #include<iostream> using namespace std; //Generic Class template<typename T> class Calculator { private: T num1; //data member 1 T num2; //data member 2 public: Calculator(T n1,T n2) //parameterized constructor { //initialization of private data members num1=n1; num2=n2; } //Addition method double addition() { cout<<"Addition : "; return ((double)num1+num2); //typecasting into double } //subtraction method double subtraction() { cout<<"Subtraction : "; return ((double)num1-num2); //typecasting into double } //multiplication method double multiplication() { cout<<"Multiplication : "; return ((double)num1*num2); //typecasting into double } //division method double division() { cout<<"Division : "; return ((double)num1/num2); //typecasting into double } }; //Main function int main() { //Initialization of object int type Calculator<int> c(100,5); //calling different methods by using int type object cout<<c.addition()<<endl; cout<<c.subtraction()<<endl; cout<<c.multiplication()<<endl; cout<<c.division()<<endl; //Initialization of object float type Calculator<float> c1(5.0,2.5); //calling different methods by using int type object cout<<c1.addition()<<endl; cout<<c1.subtraction()<<endl; cout<<c1.multiplication()<<endl; cout<<c1.division()<<endl; }