父类和子类两个设备,利用虚函数重写模拟读取数据反馈
enum class ODU_TYPE
{
//两个不同的ODU设备
ODU_TYPE_331,
ODU_TYPE_332,
}odu_tybe;
bool ODU::heartBeat()
{
cout << name() << "模拟读取串口协议,获取心跳包数据反馈..." << endl;
string str;
str=(接收的数据);
bool ret = false;
if (str==(自己设备的数据))
{
odu_tybe = ODU_TYPE_331;//等于自身设备
cout << "OUD设备" << ODU_TYPE_331 << "反馈数据正常" << endl;
ret = true;
}
return ret;
}
//循环对心跳包进行判断,如果读出数据错误就让设备进行切换
ODU_331* odu = NULL;//创建一个父类指针为odu的全局对象
void oduMonitorHandler()
{
while (1)
{
if (odu_331->heartBeat() == false)
{
ODU_TYPE tybe = (获取当前设备的函数);//判断当前是