兩個裝置之間的轉換 多型性練習

2021-10-10 20:19:03 字數 1809 閱讀 7042

要求:

有兩個裝置,乙個裝置正常執行,所有出現故障,立馬轉換到裡乙個裝置。

因為原來已經定義好乙個類了,所以直接用了繼承

原來的裝置:

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 計算機具體運算是兩個位址值相減。應該是過載了運算子 結果是指標值相減除以指標所指物件的大小。因為單純的位址值相...