我正在编写一个矩阵类,我希望它能够存储任何不同的(数字)数据类型 - 从boolean到long.
为了访问数据我正在使用括号运算符.是否可以使该函数返回不同的数据类型,具体取决于类中存储的数据类型.更重要的是,我不完全确定如何在同一变量名下存储类中的不同数据类型.这可能是不可能的.
我认为将数据存储为任何类型的唯一方法是将其存储为void并将数据类型存储为额外变量.但是,作为一个空白返回会导致问题,不是吗?因为我想要返回作为我存储在函数中的数据类型.
谢谢.
Kor*_*icz 10
你的答案是模板!
template <typename T>
class Matrix {
T* data;
public:
// ....
T& operator()( size_t x, size_t y )
{
return data[ y*MAXX + x ];
}
}
Run Code Online (Sandbox Code Playgroud)
你可以在这里阅读模板.