阅读量:0
要自定义一个C++的表格(table)类,你需要先确定你的表格类需要哪些功能。例如,你可能需要添加、删除和修改行和列,以及获取和设置单元格的值。下面是一个简单的示例,展示了如何创建一个基本的表格类:
#include<iostream> #include<vector> class Table { public: // 构造函数 Table(int rows, int cols) : numRows(rows), numCols(cols) { data.resize(numRows); for (int i = 0; i < numRows; ++i) { data[i].resize(numCols); } } // 获取行数 int getNumRows() const { return numRows; } // 获取列数 int getNumCols() const { return numCols; } // 获取单元格的值 int getValue(int row, int col) const { if (row >= 0 && row < numRows && col >= 0 && col < numCols) { return data[row][col]; } else { throw std::out_of_range("Invalid row or column index"); } } // 设置单元格的值 void setValue(int row, int col, int value) { if (row >= 0 && row < numRows && col >= 0 && col < numCols) { data[row][col] = value; } else { throw std::out_of_range("Invalid row or column index"); } } private: int numRows; int numCols; std::vector<std::vector<int>> data; }; int main() { Table table(3, 4); // 设置单元格的值 table.setValue(0, 0, 1); table.setValue(1, 1, 2); table.setValue(2, 2, 3); // 获取并打印单元格的值 std::cout << "Table values:"<< std::endl; for (int i = 0; i< table.getNumRows(); ++i) { for (int j = 0; j< table.getNumCols(); ++j) { std::cout<< table.getValue(i, j) << " "; } std::cout<< std::endl; } return 0; }
这个示例中的Table
类有一个二维整数向量data
来存储表格的数据。Table
类提供了一些基本的方法,如getNumRows()
、getNumCols()
、getValue()
和setValue()
等。你可以根据需要扩展这个类,添加更多的功能,例如添加和删除行和列等。