溫馨提示×

如何自定義C++的table類

c++
小樊
82
2024-09-07 05:01:38
欄目: 編程語言

要自定義一個C++的表格(table)類,你需要先確定你的表格類需要哪些功能。例如,你可能需要添加、刪除和修改行和列,以及獲取和設置單元格的值。下面是一個簡單的示例,展示了如何創(chuàng)建一個基本的表格類:

#include<iostream>
#include<vector>

class Table {
public:
    // 構(gòu)造函數(shù)
    Table(int rows, int cols) : numRows(rows), numCols(cols) {
        data.resize(numRows);
        for (int i = 0; i < numRows; ++i) {
            data[i].resize(numCols);
        }
    }

    // 獲取行數(shù)
    int getNumRows() const {
        return numRows;
    }

    // 獲取列數(shù)
    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類有一個二維整數(shù)向量data來存儲表格的數(shù)據(jù)。Table類提供了一些基本的方法,如getNumRows()、getNumCols()getValue()setValue()等。你可以根據(jù)需要擴展這個類,添加更多的功能,例如添加和刪除行和列等。

0