微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在C ++中定义通用接口

如何解决如何在C ++中定义通用接口

我在C ++中有以下抽象类

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;

}

我的意图是,这个抽象类将成为所有对象的通用接口 我的应用程序中的各种电力电子转换器。不幸的是我有 碰到一个问题,当各种电力电子设备如何建模时 转换器具有一组参数和一组警报,但是这些项 设置取决于转换器的每种类型。所以我不知道如何完全声明 方法confirmAlarmnotifyParameterChange因为我不知道如何 声明形式参数的类型。我可能需要定义一些类型 这将对通用参数列表和警报通用列表进行建模。谁能 给我一个建议怎么做?预先感谢您的任何想法。

解决方法

您可以使用多态性来做到这一点:定义<custom-element [ngrxEnableFocusTracking]="true"></custom-element>BaseParam类,并使用指向它们的指针BaseAlarm作为函数的参数。

或者,您可以使用std::variant中的vector

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。