gpt4 book ai didi

c++ - TypeDef 作为可重写的类特性

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:12:37 25 4
gpt4 key购买 nike

如果我有一个包含多个 typedef 的类'd 变量,像这样:

class X {

typedef token TokenType;

bool doStuff()
{
TokenType data;
fillData(&data);
return true;
}

};

有什么方法可以覆盖 typedef对于 TokenType在派生类中?

注意这不是使用模板的好地方(这已经是一个模板化类,任何更改都可能导致 [编辑:无限] 递归定义 [ class X < class Y = class X < class Y . . .> > 等]。)

最佳答案

你可以做的是阴影,但不能覆盖。也就是说:您可以使用自己的 TokenType typedef 定义派生类 Y,但这只会在有人直接或通过静态类型为 Y 的对象引用 Y::TokenType 时起作用。任何静态引用 X::TokenType 的代码即使对于类型 Y 的对象也会这样做。

关于c++ - TypeDef 作为可重写的类特性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/747440/

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