gpt4 book ai didi

c++ - 在 C++ 中拥有大型抽象类是好是坏?

转载 作者:行者123 更新时间:2023-11-28 07:56:43 25 4
gpt4 key购买 nike

我想知道在c++中创建一个带有多个纯虚方法的抽象类好不好?

例如,在某些情况下,例如实现 session 发起协议(protocol)的对话,我们发现它可以使用桥接模式来实现。但是具有用于通用操作的抽象基类会导致具有非常大的抽象类。现在从性能角度来看,使用和实现此类的效果如何?

假设我们有不同的对话框,每个对话框都有自己的实现。(例如:InviteDialog、RegisterDialog、InfoDialog...)

应用桥接模式:

class IIDialog{
public:
/*there are multiple pure virtual methodes at least 15*/
virtual int32_t SendResponse(ISipMessage* response) = 0;
protected:
/*there are multiple methods that use pure virtual methods*/
int32_t Send_Response(){retun SendResponse(response);}
}

class IInviteDialog : public IIDialog
{
/*Implemet virtual methods*/
}

class IRegisterationDialog : public IIDialog
{
/*implement virtual methode*/
}

忽略其他实现部分(实际实现和上面类使用的实现的抽象)

谢谢

最佳答案

对于大多数现代 C++ 编译器,您可以假设构造对象时的性能开销不取决于虚方法的数量。

并且在实际调用这些方法时,我希望开销不会比任何替代实现方法的开销大。

如果这些函数调用做“复杂”的事情,比如网络操作,那么无论如何你都不需要为这些微优化操心,这将是完全无关紧要的。

关于c++ - 在 C++ 中拥有大型抽象类是好是坏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12552999/

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