问题描述
我在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;
}
我的意图是,这个抽象类将成为所有对象的通用接口
我的应用程序中的各种电力电子转换器。不幸的是我有
碰到一个问题,当各种电力电子设备如何建模时
转换器具有一组参数和一组警报,但是这些项
设置取决于转换器的每种类型。所以我不知道如何完全声明
方法confirmAlarm
和notifyParameterChange
因为我不知道如何
声明形式参数的类型。我可能需要定义一些类型
这将对通用参数列表和警报通用列表进行建模。谁能
给我一个建议怎么做?预先感谢您的任何想法。
解决方法
您可以使用多态性来做到这一点:定义<custom-element [ngrxEnableFocusTracking]="true"></custom-element>
和BaseParam
类,并使用指向它们的指针BaseAlarm
作为函数的参数。
或者,您可以使用std::variant中的vector