gpt4 book ai didi

c++ - 是否有可能在 C++03 中实现类似 'override' 的功能

转载 作者:行者123 更新时间:2023-12-01 14:20:28 30 4
gpt4 key购买 nike

C++11 中,我们有 override 说明符,它允许在编译时验证虚函数实际上覆盖了基类中接口(interface)的行为。

C++03 中是否有相同的行为?

最佳答案

检查函数 foo 是否存在于基类 Foo 说,写

sizeof(&Foo::foo);

foo 的子类版本中。这个想法是,如果基类 Foo::foo 不存在,编译将失败,如果存在,则会产生良性影响。

当然,这有缺点 - 例如,您不能通过重载来区分。此外,具有相似名称的 static 函数和成员变量也将匹配。

关于c++ - 是否有可能在 C++03 中实现类似 'override' 的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58414928/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com