這可能是普通C++用戶的基本問題。在功能上,我有一個ECG監視器,並且想要選擇在運行時使用哪種輸出格式。我已經建立了兩個類,揭示相同的方法和成員(ECGRecordingDefaultFormat和ECGRecordingEDFFormat),例如。 - > InsertMeasure, - > setFrequency, - > setPatientName等在類中定義成員,但直到運行時才知道實際類型
我知道我可以定義每種格式類類型的一個實例,然後把在:
if (ECGFormatToUse == ECGFormat.EDF) {
ecgDefaultFormat.InsertMeasure(x);
}
if (ECGFormatToUse == ECGFormat.Default) {
ecgEDFFormat.InsertMeasure(x);
}
所有整個代碼,但我想我可能不會完全使用C++的動態類型。
問題是:我可以在main()中只定義一個變量,並且在運行時選擇我想要的格式後,讓代碼使用暴露的'InsertMeasure'方法使用正確的類,避免了很多if /其他的代碼?
我會很高興只提及繼承/多態性(?)的哪一方面,我應該使用,並可以谷歌其餘。
謝謝你們。
皮特
感謝您的回答Luchian,Basile和hmjd。我從中得到的是:在基類中創建一個虛擬方法,從這個類繼承。 UPS! – Pete855217