91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

C++中如何自定義矩陣類模板

c++
小樊
93
2024-08-29 22:25:31
欄目: 編程語言

在C++中,你可以通過創建一個類模板來實現自定義矩陣類。以下是一個簡單的示例:

#include<iostream>
#include<vector>

template<typename T>
class Matrix {
public:
    // 構造函數
    Matrix(int rows, int cols) : rows_(rows), cols_(cols) {
        data_.resize(rows);
        for (int i = 0; i< rows; ++i) {
            data_[i].resize(cols);
        }
    }

    // 獲取矩陣的行數
    int rows() const {
        return rows_;
    }

    // 獲取矩陣的列數
    int cols() const {
        return cols_;
    }

    // 獲取矩陣中指定位置的元素
    T& operator()(int row, int col) {
        return data_[row][col];
    }

    // 獲取矩陣中指定位置的元素(常量版本)
    const T& operator()(int row, int col) const {
        return data_[row][col];
    }

private:
    int rows_;
    int cols_;
    std::vector<std::vector<T>> data_;
};

int main() {
    // 創建一個3x3的整數矩陣
    Matrix<int> mat(3, 3);

    // 初始化矩陣
    for (int i = 0; i < mat.rows(); ++i) {
        for (int j = 0; j < mat.cols(); ++j) {
            mat(i, j) = i * j;
        }
    }

    // 輸出矩陣
    for (int i = 0; i < mat.rows(); ++i) {
        for (int j = 0; j < mat.cols(); ++j) {
            std::cout<< mat(i, j) << " ";
        }
        std::cout<< std::endl;
    }

    return 0;
}

這個示例中,我們創建了一個名為Matrix的類模板,它接受一個類型參數T。這個類模板包含一個二維向量data_,用于存儲矩陣的數據。我們還提供了一些成員函數,如rows()cols()operator(),以方便地訪問和操作矩陣的元素。

main()函數中,我們創建了一個3x3的整數矩陣,并使用嵌套循環初始化和輸出它。你可以根據需要修改這個類模板,以添加更多的功能和操作。

0
青龙| 澄城县| 自贡市| 陇南市| 米脂县| 祥云县| 惠来县| 平定县| 察隅县| 彭泽县| 三台县| 定兴县| 桐乡市| 祁东县| 蒙自县| 恭城| 广宗县| 砀山县| 五指山市| 松阳县| 政和县| 延寿县| 任丘市| 崇信县| 旬邑县| 兴文县| 进贤县| 滨海县| 黄骅市| 天等县| 东兴市| 新沂市| 宝兴县| 孟州市| 长白| 黄梅县| 二连浩特市| 中西区| 龙游县| 普洱| 怀来县|