gpt4 book ai didi

c++ - 模板类参数继承

转载 作者:行者123 更新时间:2023-11-30 02:35:36 25 4
gpt4 key购买 nike

假设我有一个基类:

class Clickable{
//virtual functions
};

我怎样才能创建一个模板类,它只接受继承自 Clickable 的类作为参数:

template < class T : public Clickable > class scrollingList{
std::vector<T> elements;
//...
};

以上是否可能,如果不可能,我该如何做我在开始时描述的事情?

最佳答案

您可以使用 static_assert 检查基类

static_assert(std::is_base_of<Clickable, T>::value, "Wrong base type!");

如果 T 不是从 Clickable 派生的,这将给您一个编译时错误。

关于c++ - 模板类参数继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33460288/

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