Advertisement
Guest User

opel_lover

a guest
Oct 16th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.71 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. template <class T, class P>
  5. class CPair
  6. {
  7. private:
  8.     T first;
  9.     P second;
  10.  
  11. public:
  12.     CPair()
  13.     {
  14.         first = T();
  15.         second = P();
  16.     }
  17.  
  18.     CPair(const T & tfirst, const P & tsecond)
  19.     {
  20.         first = tfirst;
  21.         second = tsecond;
  22.     }
  23.  
  24.     CPair(const CPair& p)
  25.     {
  26.         first = p.first;
  27.         second = p.second;
  28.     }
  29.  
  30.     std::ostream& Otput(std::ostream& toStream)const
  31.     {
  32.         toStream << "(" << first << "," << second << ")" << "|n";
  33.  
  34.         return toStream;
  35.     }
  36.  
  37.     friend std::ostream & operator << (std::ostream & toStream, const CPair & p)
  38.     {
  39.         return p.Otput(toStream);
  40.     }
  41.  
  42.     friend std::istream & operator >> (std::istream & fromStream, CPair & p)
  43.     {
  44.         return p.Input(fromStream);
  45.     }
  46.  
  47.     bool operator < (const CPair & p)
  48.     {
  49.         if (second < p.second)
  50.         {
  51.             return true;
  52.         }
  53.  
  54.         else
  55.         {
  56.             return false;
  57.         }
  58.     }
  59.  
  60.     bool operator == (const CPair & p)
  61.     {
  62.         return ((second == p.second) ? true : false); //sukraten operator "if" chuli weee
  63.     }
  64.  
  65.     CPair operator + (const CPair & p)
  66.     {
  67.         CPair temp(first + p.first, second + p.second);
  68.  
  69.         return temp;
  70.     }
  71.  
  72.     CPair & operator = (const CPair & p)
  73.     {
  74.         first = p.first;
  75.         second = p.second;
  76.  
  77.         return *this;
  78.     }
  79. };
  80.  
  81. int main()
  82. {
  83.     CPair <int, int> a(4, 3), b(6, 7), c;
  84.  
  85.     c = a + b;
  86.     std::cout << c;
  87.  
  88.     CPair<std::string, std::string> x("gsi 16v", "nachalnika na selo kopitovo"), y("gosho rednika", "opel astra h"), z;
  89.  
  90.     z = x + y;
  91.     std::cout << z;
  92.  
  93.     CPair<CPair<std::string, std::string>, int>
  94.         k(CPair < std::string, std::string>("batkoto golqm", "batencetooo"), 5),
  95.         l(CPair < std::string, std::string>("opela mn varvi batee", "c20xe"), 5),
  96.         m;
  97.  
  98.     m = k + l;
  99.  
  100.     std::cout << m;
  101.  
  102.     system("pause");
  103.     return 0;
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement