fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct mypair { int first; int second;};
  5.  
  6. class Board {
  7. private:
  8. int size;
  9. char** matrix = nullptr;
  10.  
  11. public:
  12.  
  13. Board(int sizeToSet) { //constructor with size
  14. size = sizeToSet;
  15.  
  16. matrix = new char*[size]; //creates a matrix
  17. for (int i = 0; i < size; i++)
  18. matrix[i] = new char[size];
  19.  
  20. for (int i = 0; i < size; i++) { //makes every cell in matix '.'
  21. for (int j = 0; j < size; j++) {
  22. matrix[i][j] = '.';
  23. }
  24. }
  25. }
  26.  
  27. void printSize() { //matrix size print
  28. cout << size << endl;
  29. }
  30.  
  31. ~Board() { //destructor
  32. for (int i = 0; i < size; i++)
  33. delete[] matrix[i];
  34. delete[] matrix;
  35. }
  36.  
  37. Board(const Board& other) { //copy constructor
  38. size = other.size;
  39. matrix = new char*[size];
  40.  
  41. for (int i = 0; i < size; i++)
  42. matrix[i] = new char[size];
  43.  
  44. for (int i = 0; i < size; i++) {
  45. for (int j = 0; j < size; j++) {
  46. matrix[i][j] = other.matrix[i][j];
  47. }
  48. }
  49. }
  50.  
  51. friend ostream& operator<<(ostream& os, const Board& boardToPrint) { //prints matrix
  52. for (int i = 0; i < boardToPrint.size; i++) {
  53. for (int j = 0; j < boardToPrint.size; j++) {
  54. os << boardToPrint.matrix[i][j] << " ";
  55. }
  56. os << endl;
  57. }
  58. return os;
  59. }
  60. int operator()(int row, int col) {
  61. cout << "it worked1" << endl;
  62. return 1;
  63.  
  64. }
  65.  
  66. char & operator[]( const mypair & st ) {
  67. return matrix[st.first][st.second];
  68. }
  69. };
  70.  
  71.  
  72. int main() {
  73. Board board1{10};
  74. board1[{0,0}] = 'X';
  75.  
  76. std::cout << board1;
  77.  
  78. return 0;
  79. }
Success #stdin #stdout 0s 4400KB
stdin
Standard input is empty
stdout
X  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .  .  .  .  .