要求:
有兩個裝置,乙個裝置正常執行,所有出現故障,立馬轉換到裡乙個裝置。
因為原來已經定義好乙個類了,所以直接用了繼承
原來的裝置:
odu.h
#pragma once
#include
#define odu_type_331_flag "331"
#define odu_type_335_flag "335"
using
namespace std;
enum
class
odu_type
;class
odu;
odu.cpp
#include
"odu.h"
#include
#include
using
namespace std;
odu::
odu(
)int odu::
gettxfre()
bool odu::
settxfre
(int frequence)
int odu::
getrxfre()
bool odu::
setrxfre
(int frequence)
float odu::
gettxpower()
bool odu::
settxpower
(float power)
float odu::
getrxl()
bool odu::
heartbeat()
return ret;
}string odu::
name()
return ret;
}odu_type odu::
getodutype()
然後下面的裝置繼承了這個裝置,並把心跳包函式重寫了
odu335.h
#pragma once
#include
"odu.h"
#include
class
odu335
:public odu
;
odu335.cpp
#include
"odu335.h"
using
namespace std;
odu335::
odu335()
bool odu335::
heartbeat()
return ret;
}
接下來寫主函式:
這裡剛學了乙個叫程序的東西
用程序來實現,多程序就是同時跑多個任務,所以在主函式中加乙個程序,用來一直測試心跳包,及裝置是否一直正常執行,
其次這個測試函式
就是判斷裝置是否正常,如果不正常就直接換到另乙個裝置
:上原始碼:
#include
"odu.h"
#include
"odu335.h"
#include
#include
#include
using
namespace std;
odu* odu =
null
;void
test()
}sleep
(3000);
}}intmain()
多型性的練習
package com.ch.exer 練習 1.若子類重寫了父類方法,就意味著子類裡定義的方法徹底覆蓋了父類裡的同名方法,系統將不可能把父類裡的方法轉移到子類中 編譯看左邊,執行看右邊 2.對於例項變數則不存在這樣的現象,即使子類裡定義了與父類完全相同的例項變數,這個例項變數依然不可能覆蓋父類中定...
演算法 計算兩個單詞之間轉換的最少步驟
給出兩個單詞,計算出將其中乙個單詞轉換為另乙個單詞 所需的最少步驟,允許插入 刪除 替換字母。如將horse轉換為ros最少可進行3步 1.將h替換為r rorse 2.刪除r rose 3.刪除e ros上述問題咱們可以簡化為給出兩個單詞,然後求出它們倆 之間的編輯距離d。注意到對於簡短的單詞來說...
兩個指標之間的運算
只有指向同一陣列的倆個指標變數之間才可以進行計算。否則是沒有意義的。int pf1,pf2 int arr 10 pf1 arr pf2 arr 1 auto result pf2 pf1 計算機具體運算是兩個位址值相減。應該是過載了運算子 結果是指標值相減除以指標所指物件的大小。因為單純的位址值相...