gpt4 book ai didi

c++ - 模板化类,如何在不使此类模板化的情况下表示为另一个类的成员变量

转载 作者:搜寻专家 更新时间:2023-10-31 01:51:56 26 4
gpt4 key购买 nike

我有一个模板类,

template<typename T>
class TClass
{
public:
//functions here
};

class Holding {
public:

private:
TClass<T> m_item; //don't want this
};

int main() {
Holding hd;
//do whatever
return 0;
}

我想要 Holding 中的一种实例变量,但不想让 Holding 成为模板类。我有哪些设计选择?

最佳答案

看起来你想持有任何类型。如果确实如此,那么您可以使用 boost::any :

class Holding {
public:

private:
TClass<boost::any> m_item; //you want this?
};

如果您不使用 Boost,那么您可以自己实现 any 或在此站点上搜索其实现或使用 google。

关于c++ - 模板化类,如何在不使此类模板化的情况下表示为另一个类的成员变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13382820/

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