利用虛函式和繼承之模板模式

2021-05-28 08:23:22 字數 993 閱讀 3223

請看需求概要:兩個學生a和b,對於一道題進行了解答,要列印出他們對這兩道題的解答答案。

最菜鳥的**應該是定義乙個類,裡面寫兩個方法,分別在各自方法中具體實現列印題目和答案,這個就不附上了,看看稍稍改進了點的**:

using system;

using system.collections.generic;

using system.text;

namespace 模板方法模式一級

}//金庸**考題試卷

class test*****

}class test*****a : test*****

}class test*****b : test*****

}}

這裡用到了繼承,從工作量上,將列印題目的方法寫在父類裡,子類繼承後直接乙個base.testquestion()就可實現列印題目,少了重複的打題目的**。

可是看看,是不是還有重複的地方。恩,「答案:"這個單詞在**中出現了兩次並且只是跟在其後的有一點不同罷了。於是又產生了以下的**:

using system;

using system.collections.generic;

using system.text;

namespace 模板方法模式二級

}class test*****

protected virtual string answer1()

}//學生甲抄的試卷

class test*****a : test*****

}//學生乙抄的試卷

class test*****b : test*****

}}

看看是不是又減少了**量,從而減少了工作量。而其中只是父類中使用了虛函式,在子類中再具體實現而已。

搞程式設計的孩子們都是朝著乙個目的進行的:在**安全沒什麼影響的情況下,向著最少量**的方向前進。我們就不用敲嫩多**,手疼~

利用虛函式和繼承之模板模式

請看需求概要 兩個學生a和b,對於一道題進行了解答,要列印出他們對這兩道題的解答答案。最菜鳥的 應該是定義乙個類,裡面寫兩個方法,分別在各自方法中具體實現列印題目和答案,這個就不附上了,看看稍稍改進了點的 using system using system.collections.generic u...

虛繼承和虛函式繼承

虛繼承主要用於菱形 形式的繼承形式 虛繼承是為了在多繼承的時候避免引發歧義,比如類 有個就是a,繼承了 c也繼承了 當 多繼承 時,就會有歧義產生了,所以要使用虛擬繼承避免重複拷貝。虛函式繼承是解決多型性的,當用基類指標指向派生類物件的時候,基類指標呼叫虛函式的時候會自動呼叫派生類的虛函式,這就是多...

繼承和虛函式

摘要 本文從5段 例項出發,通過類中類的普通繼承,類的虛繼承,類的多重繼承,多個虛函式類的普通繼承 虛繼承與多重繼承,幾個交叉概念,詳細的闡釋了繼承 虛函式與虛繼承的基本概念,深入剖析了繼承於虛繼承的區別於聯絡。exp.001 虛繼承 cpp view plain copy include clas...