首页 > 解决方案 > 如何从c ++中内置的类中继承数组

问题描述

我想创建一个从基数组类继承的类,并且只是为了学习而添加一些新功能。

现在,当我尝试使用此代码时


class checkInherit : public array  

错误是

C++ argument list for class template is missing

我认为我必须添加一些论点。当我窥视内置数组代码的数组时,这是代码

// TUPLE INTERFACE TO array
template <class _Ty, size_t _Size>
class array;

template <class _Ty, size_t _Size>
struct tuple_size<array<_Ty, _Size>>
    : integral_constant<size_t, _Size> { // struct to determine number of elements in array

现在有什么办法可以做到这一点吗?

编辑:我在大学的任务是使用内置数组制作循环队列。现在我的想法是,如果我以某种方式继承std::array并在其中添加一些额外的函数以使其充当循环队列。这可能是不可能的,但至少我想继承std::array,以便我可以尝试一下。

标签: c++arrays

解决方案


如果您array是标准std::array模板,我不建议从它继承。

我想创建一个从基数组类继承的类,并且只是为了学习而添加一些新功能。

这闻起来是个非常糟糕的主意。阅读一本好的C++ 编程书籍,然后阅读C++ 参考

如果您真的想这样做,请务必遵循C++ 规则 5

您可能希望在class checkInherit which is some中有一个成员std::array,并重新定义适当的成员函数和operators。

这只是一个猜测。


推荐阅读