C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – 有没有办法标记(在编译时)签名与基本签名不匹配的“重写”方法?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
基本上,我想在我的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覆盖虚拟以显示我们的意图? (实际上,我不这样做 – 我讨厌使用预处理器来“扩展”语言).

解决方法

如果你不能等待C 0x,Visual C已经有了这个override关键字. (自2005年以来我相信).那里的语法是:
virtual int foo(int) override;

但是,你没有义务打字.它是一个非标准的微软扩展.

大佬总结

以上是大佬教程为你收集整理的c – 有没有办法标记(在编译时)签名与基本签名不匹配的“重写”方法?全部内容,希望文章能够帮你解决c – 有没有办法标记(在编译时)签名与基本签名不匹配的“重写”方法?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。