gpt4 book ai didi

c++ - #define mockable virtual 在 C++ 中

转载 作者:太空狗 更新时间:2023-10-29 19:54:41 25 4
gpt4 key购买 nike

我找到了这段代码:

#define 可模拟虚拟

你知道为什么有人会这样定义虚拟吗?我只是好奇这样做有什么意义

最佳答案

这样你就可以:

class ClassIdLikeToTest{
mockable void mymethod(){
//Behavior I would like to be different in my tests
}
}

然后为测试构建将 mockable 定义为虚拟的,以便您可以覆盖从该类继承的方法。

你编写你的测试并使用一个继承自 ClassIdLikeToTest 并覆盖 mymethod 的类,只要 mockable 是虚拟的,它就会工作,但是你可以在生产构建中删除它,那些函数将不是虚拟的,你不'为虚拟通话付费。

关于c++ - #define mockable virtual 在 C++ 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5258006/

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