gpt4 book ai didi

c++ - C++ 中的抽象矩阵类

转载 作者:行者123 更新时间:2023-11-30 02:04:20 24 4
gpt4 key购买 nike

我想为矩阵库创建一个包装类,例如支持矩阵乘法:

MyMatrix MyMatrix::operator* (const MyMatrix & other) const { ... }

我的第一个想法是,如果我创建一个包含上述签名的抽象类 MyMatrix 作为纯虚函数(并从中派生我的包装器),那会很酷,但事实证明这是不可能的,因为该函数具有抽象返回类型。我想知道这个问题的干净解决方案是什么样的。或者抽象类方法是错误的,我应该只使用具体的包装类吗?

最佳答案

我会选择:

class Matrix
{
public:
//all the methods here

private:
Implementation *_impl;
};

因此该类的用户将在任何地方使用Matrix 类,您将使用“Implementaion”轻松实现接口(interface)。

此外,如果您以后需要更改实现 - 它不会影响您客户的代码。只是Matrix类的实现

请注意_impl 可以是任何东西,而不仅仅是一个指针。

关于c++ - C++ 中的抽象矩阵类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10821491/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com