gpt4 book ai didi

c++ - 映射类和成员函数

转载 作者:行者123 更新时间:2023-11-28 03:58:18 25 4
gpt4 key购买 nike

有人可以建议我一种方法来将模板类与来自另一个类的一组成员函数映射吗?每当我调用模板类中的一个函数时,它应该调用另一个类的关联成员函数。

用用例更新

template<int walktype>
class Walker
{
Node* node;

bool walk()
{
switch(walktype)
case 1:
node->firstwalk();
case 2:
node->secondwalk();
......

}
};

请将以上代码视为伪代码。我希望在编译时做出 switch-case 决定。

谢谢,悟空。

最佳答案

您似乎希望在编译时选择它,这样您就可以像这样专门化您的类模板:

// corresponding to if (walktype != 1) ... condition
template<int>
class Walker
{
Node* node;

bool walk()
{
node->secondwalk();
}
};

// corresponding to if (walktype == 1) ... condition
template<>
class Walker<1>
{
Node* node;
bool walk()
{
node->firstwalk();
}
};

关于c++ - 映射类和成员函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2358799/

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