使用enum / int覆盖函数

时间:2009-02-18 20:04:01

标签: c++ inheritance compiler-construction enums

如果有一个具有函数virtual void DoSomething(int)的基类DeriveMe和一个继承DeriveMe的类,其名为DerivedThat,其函数为void DoSomething(SomeEnum) ... DerivedThat会覆盖基类DoSomething,因为枚举评估在C ++的编译期间进行整理?

我可以尝试将DoSomething设为纯虚拟并编译/运行它以查看它是否有效但这是我的第一个stackoverflow问题,所以我宁愿问它。

1 个答案:

答案 0 :(得分:8)

不,DerivedThat隐藏基类中的函数,因为签名不匹配。 enum 评估为int,因为它们是不同类型

请参阅C ++常见问题解答,23.929.19部分。