C++多态的实现,进行自动不同的设备切换接收数据

本文介绍了如何利用C++的多态特性,通过虚函数重写实现不同设备的心跳包数据反馈。当检测到数据错误时,程序会自动切换到另一台设备进行数据接收,以确保系统的稳定运行。
摘要由CSDN通过智能技术生成

父类和子类两个设备,利用虚函数重写模拟读取数据反馈

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 = (获取当前设备的函数);//判断当前是

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值