fork download
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. class Array1D
  6. {
  7. private:
  8. vector<int> arr;
  9. public:
  10. Array1D(size_t num):arr(num){}
  11. int& operator[] (size_t pos){return arr[pos];}
  12. inline size_t GetSize(){return arr.size();}
  13. };
  14.  
  15. class Array2D
  16. {
  17. private:
  18. vector<Array1D> arr;
  19. public:
  20. Array2D(size_t row,size_t col):arr(row,col){}
  21. Array1D& operator[] (size_t pos){return arr[pos];}
  22. inline size_t GetSize(){return arr.size();}
  23. };
  24.  
  25. int main()
  26. {
  27. cout<<"==value=="<<endl;
  28. const size_t row = 2;
  29. const size_t col = 3;
  30. Array2D arr2D(row,col);
  31. for(size_t i=0;i<row;i++)
  32. for(size_t j=0;j<col;j++)
  33. arr2D[i][j] = i+j;
  34.  
  35. for(size_t i=0;i<row;i++)
  36. {
  37. for(size_t j=0;j<col;j++)
  38. cout<<arr2D[i][j]<<" ";
  39. cout<<endl;
  40. }
  41.  
  42. cout<<"==size=="<<endl;
  43. cout<<arr2D.GetSize()<<endl;
  44. cout<<arr2D[0].GetSize()<<endl;
  45.  
  46. return 0;
  47. }
  48.  
Success #stdin #stdout 0s 3472KB
stdin
Standard input is empty
stdout
==value==
0 1 2 
1 2 3 
==size==
2
3