gpt4 book ai didi

c++ - 是否可以创建模板类的 vector 并调用其函数?

转载 作者:行者123 更新时间:2023-12-02 10:17:20 25 4
gpt4 key购买 nike

我创建了一个模板类,其中包含一些用作参数模板类型的方法,如下所示:

template <class T>
class vector{
...
void new(const T&new_value)
...
}

我想在另一个类中使用它,但是由于不允许这样声明它:
class matrix{
vector *_ptr_to_vect;
}

我创建了一个基类 BaseVector

但是在 BaseVector中,我无法定义类似于 new(const T&new_value)的虚拟函数来覆盖它(因为我不想再次使用模板)。由于我无法定义它,因此无法这样称呼它:
BaseVector _ptr_to_vect;
BaseVector[0].new("new value")

最佳答案

您不需要基类。您需要使matrix为模板:

template <class T>
class matrix{
vector<T> _ptr_to_vect;
};

或者,如果您的矩阵类始终是一种类型(例如,假设 float):
class matrix{
vector<float> _ptr_to_vect;
};

关于c++ - 是否可以创建模板类的 vector 并调用其函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61492271/

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