gpt4 book ai didi

C++使用子类从模板继承

转载 作者:太空狗 更新时间:2023-10-29 20:59:59 24 4
gpt4 key购买 nike

我要创建父类Foo从带有参数的模板继承它自己的嵌套类 Sub但没有得到 Sub来自 Foo ,你有解决办法吗?

class Foo : public Bar<Sub>
{
class Sub
{
}
}

谢谢

解决方案:没有“通用”方法可以做到这一点,因此最好的解决方案是将嵌套类取出。

最佳答案

不,这不可能直接实现,因为名称 Sub 不在(也不可能)在您想要使用它的范围内。如果您不能简单地将类移出(您需要它作为成员访问),您可以通过使用一个非常独特的名称移出嵌套类来解决它,在类中为其提供 typedef并在必要时将其加为 friend :

class Foo_Sub_ce60eba1_67fa_48a3_b5f5_fce89d717839
{
// Contents...
};

class Foo : Bar<Foo_Sub_ce60eba1_67fa_48a3_b5f5_fce89d717839>
{
typedef Foo_Sub_ce60eba1_67fa_48a3_b5f5_fce89d717839 Sub;
friend Sub;
};

关于C++使用子类从模板继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23267662/

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