Advertisement
Guest User

Untitled

a guest
May 25th, 2015
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.82 KB | None | 0 0
  1. #include <iostream>
  2. #include <typeinfo>
  3.  
  4.  
  5. class exception1 {};
  6. class exception2 {};
  7.  
  8. template <typename type, typename size>
  9. class vector
  10. {
  11. private:
  12.     type *data;
  13. public:
  14.     vector(size quantity)
  15.     {
  16.         if (typeid(size).name() != typeid(int).name())
  17.         {
  18.             exception1 exc1;
  19.             throw exc1;
  20.         }
  21.  
  22.         for (int i = 0; i < quantity; i++)
  23.         {
  24.             data = new type[quantity-1];
  25.         };
  26.     };
  27.     void setData(type setTo, size elemNr)
  28.     {
  29.         if (typeid(*data).name() != typeid(setTo).name())
  30.         {
  31.             exception2 exc2;
  32.             throw exc2;
  33.         }
  34.         data[elemNr] = setTo;
  35.     };
  36. };
  37. void main()
  38. {
  39.     try
  40.     {
  41.         vector <int, int> a(2);
  42.         a.setData(0, 0);
  43.         a.setData(1, 1);
  44.         a.setData(2, 2);
  45.     }
  46.     catch (exception1)
  47.     {
  48.         std::cout << "incorrect size, must be int";
  49.     }
  50.     catch (exception2)
  51.     {
  52.         std::cout << "bad index of vector";
  53.     }
  54. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement