0

我是一个 C++ 初学者,从这个网站中受益匪浅。

我有一个问题,我已经研究了好几天了,我很困惑。

为了给我的问题提供一个更简单的版本,我有一个功能完美的类(已下载库),例如,称为 ProMatrix。此类执行各种矩阵运算,例如加法、减法和乘法。

我还创建了我的(派生)矩阵类版本,例如,称为 MyMatrix。我希望 MyMatrix 类执行与 ProMatrix 相同类型的矩阵运算,但我希望它们以 MyMatrix 格式返回内容。有没有捷径可以做到这一点???

我在网站上查找,但那里给出的示例只处理 void 输出,这些函数在内部没有太多作用。

如何在派生类中重用基类函数 http://publib.boulder.ibm.com/infocenter/comphelp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8a.doc%2Flanguage%2Fref%2Foverload_member_fn_base_derived .htm

故事的更长版本(原始问题):我已经下载了 TNT 来进行矩阵运算,但他们不知何故找不到逆或转置...... :(
http://wiki.cs.princeton.edu/index.php/ TNT 那里看到好心人写了两个需要的函数,我很吃力,但是我可以通过修改下载的头文件将它们合并到TNT中,但是触摸原始代码似乎有点危险。我不知道如何编写我自己的头文件来添加这些函数。所以我想也许我可以创建我自己的从 TNT 的 Array2D 派生的矩阵类,具有父类的所有属性以及逆和转置。

我敢肯定有更好,更清洁的方法来做到这一点......你能推荐我如何解决这个问题吗?我真的很渴望发展我的 C++ 技能,非常感谢您的时间和帮助。

4

1 回答 1

0

通常的方法是为附加操作编写自由函数;它们采用原始类类型的参数。所以:

void transpose(ProMatrix& m); // transpose m in place

或者

ProMatrix transpose(const ProMatrix& m); // return transpose of m
于 2013-06-06T01:57:49.410 回答