Advertisement
Guest User

Untitled

a guest
Jan 19th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.72 KB | None | 0 0
  1. #include <vector>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. template<typename T>
  7. class Table {
  8. private:
  9.     vector<vector<T>> data;
  10.     pair<size_t, size_t> sz;
  11. public:
  12.     Table(size_t rows, size_t columns) {
  13.         resize(rows, columns);
  14.     }
  15.  
  16.     vector<T>& operator[](size_t i) {
  17.         return data[i];
  18.     }
  19.  
  20.     const vector<T>& operator[](size_t i) const {
  21.         return data[i];
  22.     }
  23.  
  24.     void resize(size_t rows, size_t columns) {
  25.         sz.first = rows;
  26.         sz.second = columns;
  27.  
  28.         data.resize(rows);
  29.  
  30.         for (size_t i = 0; i != rows; ++i) {
  31.             data[i].resize(columns);
  32.         }
  33.     }
  34.  
  35.     pair<size_t, size_t> size() const {
  36.         return sz;
  37.     }
  38. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement