gpt4 book ai didi

c++ - 我如何继承 mpl::vector 中的所有类型?

转载 作者:行者123 更新时间:2023-11-30 03:52:40 25 4
gpt4 key购买 nike

我使用来自 boost 1.58mpl::vector。我有类型:

typedef mpl::vector <base1, base2, base3> types;

如果我有一个类 derived,我如何从这个 mpl::vector 中的所有这些类型继承它?

最佳答案

您可以使用 inherit_linearly .

使用示例:

class A 
{
public:
void a() {}
};
class B
{
public:
void b() {}
};
class C
{
public:
void c() {}
};

typedef boost::mpl::vector<A, B, C> types;


class Derived :
public boost::mpl::inherit_linearly<types,
boost::mpl::inherit<boost::mpl::_1, boost::mpl::_2> >::type
{
};

int main()
{
Derived d;
d.a();
d.b();
d.c();
}

关于c++ - 我如何继承 mpl::vector 中的所有类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30526062/

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