【发布时间】:2014-10-24 12:55:03
【问题描述】:
我想实现矩阵的表示。 为此,我有两种类型的矩阵 - 常规矩阵和稀疏矩阵,它们的不同之处在于 实现 - 一个持有一个向量,第二个持有一个索引和值的映射, 都继承自 Matrix 类。
我想实现 + 运算符,它在 Matrix 上运行并接收另一个 Matrix。 但是当我实现 + 运算符时,我可能会收到参数稀疏/正则矩阵。
有什么方法可以接收一个矩阵,我不知道它是什么类型的2, 并执行 + 运算符? 意思是,如果在 SparseMatrix 类中我收到稀疏/正则矩阵,我该如何实现运算符,以便无论我得到两种类型中的哪一种,它都会起作用?
Matrix & operator+ (Matrix other)
{
...
}
【问题讨论】:
-
通过引用传递矩阵并使用多态(一个常见的矩阵基类)。
标签: c++ inheritance interface iterator polymorphism