TypeDef作为可覆盖的类功能

Ed *_*mes 4 c++ typedef

如果我有一个包含许多typedef'd变量的类,如下所示:

class X {

typedef token TokenType;

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

};
Run Code Online (Sandbox Code Playgroud)

有没有办法在派生类中覆盖typedeffor TokenType

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

Pon*_*gge 8

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