fork(1) download
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. class MyMatrix
  5. {
  6. public:
  7. MyMatrix(int m, int n) :
  8. m_matrix(m, std::vector<int>(n))
  9. {
  10. }
  11. // Other methods
  12.  
  13. const std::vector<int>& operator[] (int m) const { return m_matrix.at(m); }
  14. std::vector<int>& operator[] (int m) { return m_matrix.at(m); }
  15.  
  16. int operator () (int m, int n) const { return m_matrix.at(m).at(n); }
  17. int& operator () (int m, int n) { return m_matrix.at(m).at(n); }
  18.  
  19. private:
  20. std::vector<std::vector<int>> m_matrix;
  21. };
  22.  
  23.  
  24. int main()
  25. {
  26. MyMatrix m(4, 2);
  27.  
  28. for (int i = 0; i != 4; ++i) {
  29. for (int j = 0; j != 2; ++j) {
  30. m[i][j] = 10 * i + j;
  31. }
  32. }
  33.  
  34. for (int i = 0; i != 4; ++i) {
  35. for (int j = 0; j != 2; ++j) {
  36. std::cout << m(i, j) << " ";
  37. }
  38. std::cout << std::endl;
  39. }
  40. }
  41.  
Success #stdin #stdout 0s 3432KB
stdin
Standard input is empty
stdout
0 1 
10 11 
20 21 
30 31