gpt4 book ai didi

C++ 模板继承。子类应该用固定类型替换基类中的类型

转载 作者:太空宇宙 更新时间:2023-11-03 10:22:51 24 4
gpt4 key购买 nike

如何使用模板基类,使子类“修复”模板类型。

例如我有一个模板基类:

template <class A, int size> class BaseClass{
private:
A *elem;
public:
A()
{
elem = new A[size];
}
};

我可以

BaseClass<int, 5> mybase;

现在我想创建一个子类,它只有参数size,类型应该是int,即子类应该替换类型A 在具有固定类型的基类中(例如 int)

像这样:

SubClass<5> mysubclass; 
// type should be fixed to int, e.g. mysubclass can do the same like mybase

问候

最佳答案

怎么样

template <int size>
using SubClass = BaseClass<int,size>;

它不是子类,但据我所知,它可以满足您的需求。真正的子类是

template <int size>
class SubClass: public BaseClass<int,size> {
...
};

关于C++ 模板继承。子类应该用固定类型替换基类中的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56789604/

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