【发布时间】:2010-10-08 04:20:27
【问题描述】:
基本上,我希望在我的 C++ 代码中使用其 override 关键字的 C# 编译器功能。
class Base
{
virtual int foo(int) const;
};
class Derived : public Base
{
virtual int foo(int); // wanted to override Base, but forgot to declare it const
};
众所周知,上面的代码可以正常编译,但会产生一些奇怪的运行时行为。我希望我的 C++ 编译器能够用 C# 的 override 关键字之类的东西来捕捉我糟糕的实现。是否在 C++ 中引入了诸如“覆盖”之类的关键字,或者我们是否坚持使用 #define override virtual 来表明我们的意图? (实际上,我不这样做 - 我讨厌使用预处理器来“扩展”语言)。
【问题讨论】:
标签: c++ virtual overriding