要自定義一個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()
等。你可以根據需要擴展這個類,添加更多的功能,例如添加和刪除行和列等。