這是一個在線的C++測試問題:編程語言重新定義派生類的方法的能力是什麼?
_是指一種編程語言的重新定義派生類中的方法的能力嗎?
答:保理
B:繼承
C:重載
d:封裝
我的想法:
沒有一個是正確的。如果C覆蓋,這是一個正確的答案。
對不對?
謝謝
這是一個在線的C++測試問題:編程語言重新定義派生類的方法的能力是什麼?
_是指一種編程語言的重新定義派生類中的方法的能力嗎?
答:保理
B:繼承
C:重載
d:封裝
我的想法:
沒有一個是正確的。如果C覆蓋,這是一個正確的答案。
對不對?
謝謝
我會用C
去,因爲短語「重新定義方法」並不建議「覆蓋」給我。當你「重新定義」某種東西時,你會將它改變成與原來不同的東西,這是「超載」的一部分。派生類可以使用不同的簽名重載基類方法,使其成爲不同的方法。通常會隱藏基類方法,但可以跳過該方法,例如在C++中使用using
語句,所以派生類具有兩種方法。
同意。我會認爲這是測試問題中的一個錯字。
繼承對我來說似乎是一個很好的答案,雖然這個問題似乎假設你可以派生類。
是啊!覆蓋聽起來是對的。我在考慮重載,就像運算符重載一樣,它會替換一個類型的運算符的默認行爲。但是,繼承符合所提供的句子。 – 2012-02-24 19:30:06
重載意味着不同簽名具有相同名稱的多個函數。重寫將是正確的答案,除了它不在列表中,所以我想知道他們是否錯誤地將它與繼承關聯起來。 – birryree 2012-02-24 19:32:20
我認爲你是正確的,答案應該是重寫,隱藏或多態。 – 2012-02-24 19:36:55