我正在使用矩阵库(Eigen),其中矩阵的大小会影响矩阵的类型。我正在尝试创建一个使用构造函数初始化的类,该构造函数接受矩阵并将其复制到成员矩阵。由于这是一个库,我想这样做,以便用户在初始化我的矩阵类时不必知道矩阵的大小(因为它们的矩阵可能来自另一个文件) 基本上我想要类似下面的代码,其中 unknownType 在构造时采用 someType 的形式
class Matrix{
private:
unknownType m1;
public:
Matrix(someType m2): m1(m2){}
};
答案 0 :(得分:0)
@BenSteffan是对的。 它是为哪些模板制作的。
这是一个绝对的玩具示例。
#include <iostream>
template<typename ELEMENT_TYPE>
class Matrix {
private:
ELEMENT_TYPE element;
public:
Matrix(ELEMENT_TYPE value):element(value){}
ELEMENT_TYPE get(){
return element;
}
};
int main() {
Matrix<double> dmatrix(78.7);
Matrix<int> imatrix(7000);
std::cout<<dmatrix.get()<<' '<<imatrix.get()<<std::endl;
return 0;
}