使用 enum/int 覆盖函数

问题描述 投票:0回答:1

如果有一个基类 DeriveMe 具有函数

virtual void DoSomething(int)
和一个继承 DeriveMe 的名为 DerivedThat 的类,该类具有函数
void DoSomething(SomeEnum)
...DerivedThat 是否会覆盖基类 DoSomething,因为枚举在编译时评估为整数C++?

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

c++ inheritance enums
1个回答
8
投票

不,

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

请参阅 C++ 常见问题解答,第

23.929.19

© www.soinside.com 2019 - 2024. All rights reserved.