Advertisement
freeridre

c++ templates

Mar 9th, 2022
1,186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.54 KB | None | 0 0
  1. #include <cmath>
  2. #include <cstdio>
  3. #include <vector>
  4. #include <iostream>
  5. #include <algorithm>
  6. #include <cassert>
  7. using namespace std;
  8.  
  9. /*Write the class AddElements here*/
  10. template<class T>
  11. class AddElements{
  12.     T element;
  13. public:
  14.     AddElements(T data){element = data;}
  15.     T concatenate(T data2)
  16.     {
  17.         return element + data2;
  18.     }  
  19.     T add(T data2)
  20.     {
  21.         return element + data2;
  22.     }
  23. };
  24. /*template<>
  25. class AddElements<double>{
  26.     double element;
  27. public:
  28.     AddElements(double data){element = data; }
  29.     double add(double data1)
  30.     {
  31.         return element + data1;
  32.     }  
  33. };*/
  34. /*template<>
  35. class AddElements<int>{
  36.     int element;
  37. public:
  38.     AddElements(int data){element = data; }
  39.     int add(double data1)
  40.     {
  41.         return element + data1;
  42.     }  
  43. };*/
  44. int main () {
  45.   int n,i;
  46.   cin >> n;
  47.   for(i=0;i<n;i++) {
  48.     string type;
  49.     cin >> type;
  50.     if(type=="float") {
  51.         double element1,element2;
  52.         cin >> element1 >> element2;
  53.         AddElements<double> myfloat (element1);
  54.         cout << myfloat.add(element2) << endl;
  55.     }
  56.     else if(type == "int") {
  57.         int element1, element2;
  58.         cin >> element1 >> element2;
  59.         AddElements<int> myint (element1);
  60.         cout << myint.add(element2) << endl;
  61.     }
  62.     else if(type == "string") {
  63.         string element1, element2;
  64.         cin >> element1 >> element2;
  65.         AddElements<string> mystring (element1);
  66.         cout << mystring.concatenate(element2) << endl;
  67.     }
  68.   }
  69.   return 0;
  70. }
  71.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement