【发布时间】:2021-09-21 04:01:23
【问题描述】:
我想知道是否可以创建一个类来继承包含向量(2d)的向量并且可以编写自己的方法。
using matrix = vector<vector<float>>;
class MyClass: public matrix;
...
MyClass m;
m = {{1,2,3}, {4,5,6}, {7,8,9}}
m.randomize(); // my method
m.pop_back() //class vector method
【问题讨论】:
-
为什么不只有一个以矩阵为属性的类?
-
std::集合并非旨在继承自。 -
这能回答你的问题吗? Thou shalt not inherit from std::vector
-
@RichardCritten “std:: 集合并非旨在继承自” 这并不完全正确。它们没有
virtual析构函数,这意味着它们不能从基指针中多态地删除;但是没有什么可以禁止他们继承。甚至链接问题的答案也表明相同。在这种情况下,我并不是说继承是个好建议。只是说它们“不是为了继承而设计的”实际上是不正确的。
标签: c++ class inheritance vector