Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <typeinfo>
- class exception1 {};
- class exception2 {};
- template <typename type, typename size>
- class vector
- {
- private:
- type *data;
- public:
- vector(size quantity)
- {
- if (typeid(size).name() != typeid(int).name())
- {
- exception1 exc1;
- throw exc1;
- }
- for (int i = 0; i < quantity; i++)
- {
- data = new type[quantity-1];
- };
- };
- void setData(type setTo, size elemNr)
- {
- if (typeid(*data).name() != typeid(setTo).name())
- {
- exception2 exc2;
- throw exc2;
- }
- data[elemNr] = setTo;
- };
- };
- void main()
- {
- try
- {
- vector <int, int> a(2);
- a.setData(0, 0);
- a.setData(1, 1);
- a.setData(2, 2);
- }
- catch (exception1)
- {
- std::cout << "incorrect size, must be int";
- }
- catch (exception2)
- {
- std::cout << "bad index of vector";
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement