如何在C++中定义公共接口

How to define common interface in C++

我在 C++ 中有以下摘要 class

class Converter
{

    public:
        virtual void enable(void)                          = 0;
        virtual void setReferenceValue(double)             = 0;
        virtual void registerAlarmListener(AlarmListener*) = 0;
        virtual void confirmAlarm()                        = 0;
        virtual void notifyParameterChange()               = 0;
        virtual void update(void)                          = 0;

}

我的意图是这个抽象 class 将成为所有人的通用接口 我的应用中的各种电力电子转换器。不幸的是我有 遇到问题如何模拟各种电力电子设备的情况 转换器有一组参数和一组警报,但其中的项目 集取决于每种类型的转换器。所以我不知道如何完全声明 方法 confirmAlarmnotifyParameterChange 因为我不知道该怎么做 声明形式参数的类型。我可能需要定义一些类型 它将模拟一个公共参数列表和公共警报列表。任何人都可以 给我一个建议该怎么做?提前感谢您的任何想法。

您可以使用多态性来做到这一点:定义 BaseParamBaseAlarm 类 并使用 vector 指向它们的指针作为函数的参数。

或者,您可以使用 vectorstd::variant